2012-07-16 5 views
0

테이블에 두 번 이상 나타난 필드를 number, start, end아니오 발견하지 : 나는 열 이름으로 테이블 <code>data</code>이

지금 두 번 나타난 숫자 (열 number의 필드를) 선택해야

이상 그런 다음에 그들이 나타날 때가 얼마나 될지 계산해라.

이 작업을 수행하는 간단한 방법은 무엇입니까?

예 : 넘버 ------- ------- 시작 단부 ---- 그래서

 191   x   x 
     123   x   x 
     45    x   x 
     191   x   x 
     37    x   x 
     191   x   x 
     45    x   x 

이제 결과이어야한다 : 2 (191 (45) - 두 반복 입력 값들의 주어진 세트의

답변

2
SELECT `number`, COUNT(`number`) AS count 
FROM `data` 
GROUP BY `number` 
HAVING COUNT(`number`) > 1 
ORDER BY COUNT(`number`) DESC; 

)를 두 번 이상 출력한다 :

------------------ 
| number | count | 
------------------ 
| 191 | 3 | 
------------------ 
| 45 | 2 | 
------------------ 
+0

그래서 두 번 이상 나타난 독특한 no : s의 총 수를 줄까요? – user1424394

+0

예, 'GROUP BY'는 고유 번호를 선택하고 'COUNT()'는 표시된 횟수를 나타냅니다. – hjpotter92

+0

예를 들어 질문을 편집하여 더 명확하게 나타 냈습니다. 정확히 동일합니까? – user1424394

1
SELECT number, COUNT(1) 
FROM table 
GROUP BY number 
HAVING COUNT(1) >= 2; 
+1

타 t는 두 번 나타나는 숫자를 선택하지 않습니다. – hjpotter92

+0

그래, 고마워, 내 대답을 편집했습니다 – Zbigniew

관련 문제