쿼리 질문 드립니다. 1 3 1,642

by 성이 [SQL Query] [2015.10.22 14:02:22]


member테이블에 아이디는 틀리지만 이름(name)과 전화번호(hp)의 데이터가 같은 중복회원의 값을 뽑아야 하는데;;

간단한거 같은데 감이 어케해야하는지 감이 안오네요;;;

by 부쉬맨 [2015.10.22 14:10:29]
with t as
( 
select 1 i , 'a' n, '223456789' p from dual union all
select 2 i , 'a' n, '123456789' p from dual union all
select 3 i , 'b' n, '223456789' p from dual union all
select 4 i , 'b' n, '223456789' p from dual union all
select 5 i , 'b' n, '123456789' p from dual union all
select 6 i , 'c' n, '123456789' p from dual
) 
select * 
from t 
where n in( 
select   n as name
from t
group by n,p
having count(*) > 1
)

 


by 창조의날개 [2015.10.22 14:23:04]

-- WEHRE 조건에 N만 있으면 3개가 나오네요?
-- P도 함께 넣어야 겠네요..

select * 
from t 
where (n,P) in( 
    select   n,P
    from t
    group by n,p
    having count(*) > 1
)
;

-- 이렇게 해도 될거 같네요..

select * 
from ( 
select T.*
     , COUNT(*) OVER(PARTITION BY N,P) CNT
from t)
WHERE CNT > 1
;

 


by 성이 [2015.10.22 14:54:25]

부쉬맨님 창조의날개님 답변 감사드립니다^^ 쿼리 참 어렵네요 ㅠㅠ

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입