mssql 중복 데이터 질문인데요 부탁좀 드릴꼐요 ㅜㅜ 계속 삽질이네요 정보
MySQL mssql 중복 데이터 질문인데요 부탁좀 드릴꼐요 ㅜㅜ 계속 삽질이네요
본문
select distinct(SVUSERID)
, Row_Number() over(order by CAST(SVDT AS float)) as RN
, STFSEQ
, PBLSH
, (select CODNAME from FN_COD_MST where GRID='1011' and COD=PBLSH) PBLSHCODE
, STFNAME
, ZIPCODE
, ADRESS1 + ' ' + ADRESS2 as ADRESS
, ADRESS2
, TELNO1 + '-' + TELNO2 + '-' + TELNO3 as TELNO
, PNAME
, EMAIL
, JSSEQ
, CAST(SVDT AS float) SVDTi
from FN_STF_MST
where PBLSH in (select COD from FN_COD_MST where GRID='1011' and CODNAME like '%' + '골드' + '%')
order by SVDTi
, Row_Number() over(order by CAST(SVDT AS float)) as RN
, STFSEQ
, PBLSH
, (select CODNAME from FN_COD_MST where GRID='1011' and COD=PBLSH) PBLSHCODE
, STFNAME
, ZIPCODE
, ADRESS1 + ' ' + ADRESS2 as ADRESS
, ADRESS2
, TELNO1 + '-' + TELNO2 + '-' + TELNO3 as TELNO
, PNAME
, JSSEQ
, CAST(SVDT AS float) SVDTi
from FN_STF_MST
where PBLSH in (select COD from FN_COD_MST where GRID='1011' and CODNAME like '%' + '골드' + '%')
order by SVDTi
위와 같은 쿼리 실행시 결과가
위와 같이 나옵니다.
off1
off3
off1
순서로 3개의 레코드가 나옵니다.
이때
off1
off3
2개의 레코드만 나오게하고 싶은데 부탁 드릴께요
DISTINCT, GROUP BY 다 해봤는데
첫번째 off1과 세번째 off1은 SVUSERID 빼고는 내용이 모두 달라서 안되는 군요
즉 다음 그림과 같이 나오게 하고 싶습니다.
추천
0
0
댓글 1개

자문자답이네요
select SVUSERID
, Row_Number() over(order by CAST(SVDT AS float)) as RN
, STFSEQ
, PBLSH
, (select CODNAME from FN_COD_MST where GRID='1011' and COD=PBLSH) PBLSHCODE
, STFNAME
, ZIPCODE
, ADRESS1 + ' ' + ADRESS2 as ADRESS
, ADRESS2
, TELNO1 + '-' + TELNO2 + '-' + TELNO3 as TELNO
, PNAME
, EMAIL
, JSSEQ
, SVDT
from FN_STF_MST
where PBLSH in (select COD from FN_COD_MST where GRID='1011' and CODNAME like '%' + '골드' + '%')
AND SVUSERID not in (
select SVUSERID
from FN_STF_MST
where PBLSH in (select COD from FN_COD_MST where GRID='1011' and CODNAME like '%' + '골드' + '%')
GROUP BY SVUSERID
having count(SVUSERID) > 1
)
OR STFSEQ in(
select top 1 STFSEQ
from FN_STF_MST
where SVUSERID =
( select SVUSERID
from FN_STF_MST
where PBLSH in (select COD from FN_COD_MST where GRID='1011' and CODNAME like '%' + '골드' + '%')
GROUP BY SVUSERID
having count(SVUSERID) > 1
) order by SVDT
)
다른 의견 있으신분 부탁드립니다.
select SVUSERID
, Row_Number() over(order by CAST(SVDT AS float)) as RN
, STFSEQ
, PBLSH
, (select CODNAME from FN_COD_MST where GRID='1011' and COD=PBLSH) PBLSHCODE
, STFNAME
, ZIPCODE
, ADRESS1 + ' ' + ADRESS2 as ADRESS
, ADRESS2
, TELNO1 + '-' + TELNO2 + '-' + TELNO3 as TELNO
, PNAME
, JSSEQ
, SVDT
from FN_STF_MST
where PBLSH in (select COD from FN_COD_MST where GRID='1011' and CODNAME like '%' + '골드' + '%')
AND SVUSERID not in (
select SVUSERID
from FN_STF_MST
where PBLSH in (select COD from FN_COD_MST where GRID='1011' and CODNAME like '%' + '골드' + '%')
GROUP BY SVUSERID
having count(SVUSERID) > 1
)
OR STFSEQ in(
select top 1 STFSEQ
from FN_STF_MST
where SVUSERID =
( select SVUSERID
from FN_STF_MST
where PBLSH in (select COD from FN_COD_MST where GRID='1011' and CODNAME like '%' + '골드' + '%')
GROUP BY SVUSERID
having count(SVUSERID) > 1
) order by SVDT
)
다른 의견 있으신분 부탁드립니다.