중복(2개 이상)인 건만 세기

중복(2개 이상)인 건만 세기

QA

중복(2개 이상)인 건만 세기

본문

wr_1   wr_2

13      15

12      13

15     11

 

wr_1이랑 wr_2 컬럼에서

 

중복된 갯수 합이 2개 이상인 행의 값만 검색하려면 어떻게 해야 하나여?

 

위에서 13과 15가 2번 이상이 나왔으니 13과 15에 해당하는 행만 목록에 출력하고 싶습니다.

 

이럴려면 먼저 중복된값을 세고

목록을 출력할때 13과 15를 필터링해서 

출력해야 하나요

이 질문에 댓글 쓰기 :

답변 4

원하는게

총 참가순위
승리순위 
패배순위

인건가요?

기준을 각각 회원의 번호로 잡고
select wr1, count(wr1) AS cnt1 from db명 where wr1 = 회원번호 group by wr1
이런형태로 먼저 한회원당 승리한 숫자를 각각 구하고
select wr2, count(wr2) AS cnt2 from db명 where wr2 = 회원번호 group by wr2
이렇게 다시 한회원의 패배한 숫자를 구하고
다시 또 이둘의 값을 더해서 구해야 겠군요
http://blog.naver.com/PostView.nhn?blogId=silentis&logNo=90184090123
이곳 참고해보시면서 1개의 쿼리로 가능할 수 있겠네요

select wr1 a, wr2 b, (cnt1 a + cnt2 b) AS hap from ( 첫번째쿼리) a, (두번째쿼리) b;

기준점이 하나가 필요하겠죠!

그 기준점으로 다시 쿼리를 날려서 중복된 부분을 출력해야 하는 방식이겠죠

중복된 갯수 합이 2개 이상인 행의 값

이부분에서 제가 이해를 잘 못하겠어요 

좀 더 쉽게 설명을 풀어 보실래요???

데이타는
wr1  wr2
3        5
4        3
5        3

이런식으로 되어있구요

wr1은 승자이구요 wr2는 패자인데 승패합이 두번 이상
나온 번호 즉 3과5번인 사람은 순위 집계목록에 포함시켜서 출력하고

그외의 번호인 사람은
순위집계 아래목록에 표시할려고 하거든요

wr1은 승자이구요 wr2는 패자인데 승패합이 두번 이상
나온 번호 즉 3과5번인 사람은 순위 집계목록에 포함시켜서 출력

그러면 wr1 + wr2 가 두번 겹치이상 겹치는 값의 순서를 찾는건가요?
field wr1 wr2
1    3    5
2    4    3
3    5    3
4    1    2
5    6    2

이런다고 했을 때 field가 1과 3과 5를 순위집계에 넣고 나머지는 뺀다는 건가요?
아니면 3 과 5 가 승패관계 없이 나왔을때 순위집계에 넣는건가요?

wr1 과 wr2는 사람번호이고 한번씩 나오구요

wr1은 승리 한 사람의 번호이구요

승리했던 횟수와 wr2패배한 사람번호 횟수 즉 총경기수 합이2번 이상인 사람번호들이랑 2번이 안되는 사람번호를 뽑아서 목록을 표시하고 싶어요

답변을 작성하시기 전에 로그인 해주세요.
전체 123,749 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT