정확한 질문을 보려면, 더 많은 레코드가있는 다른 그룹이없는 레코드 그룹이 필요합니다. 당신이
SELECT taxid, COUNT(*) as howMany
GROUP by taxid
말한다면 당신은 모든 군과 카운트
그런 다음 당신이 하위 쿼리를함으로써 테이블로 표현하고, 그것에게 별칭을주는 것을 처리 할 수 있습니다 얻을. 아래에서는 쿼리의 두 개의 "복사본"에 X와 Y라는 이름을 할당하고 하나의 테이블에 더 이상없는 택시를 요청합니다. 동일한 번호를 가진 두 개가 있다면 두 개 이상을 얻을 것입니다. 서로 다른 데이터베이스는 TOP 및 LIMIT와 같은 독점 구문을 사용하므로 이러한 종류의 쿼리를 더 간단하고 이해하기 쉽습니다. (난 당신이 내가 아는 모든 RDBMS에 실패 어떤
SELECT *, COUNT(*) FROM T GROUP BY X
을 게시 한 이후 사용하는 가정)의 MySQL에서
SELECT taxid FROM
(select taxid, count(*) as HowMany from flats
GROUP by taxid) as X
WHERE NOT EXISTS
(
SELECT * from
(
SELECT taxid, count(*) as HowMany FROM
flats
GROUP by taxid
) AS Y
WHERE Y.howmany > X.howmany
)
Juho의 대답은 당신이 필요로하는 무엇을 제공하지 않는 경우 , 어떤 데이터베이스 유형을 입력하십시오 (oracle, mysql, sql server 등) (SQL을 넣은 태그를 사용하여). 일반 SQL 솔루션 만 원하면 메시지 본문에 언급하십시오. 게시물 및 sqlfiddle.com에 샘플 데이터 및 테이블 구조를 추가하는 데 시간이 걸리면 사람들이보다 쉽게 질문을 볼 수 있습니다. –
@LevinMagruder : MySQL 5.1; 샘플 데이터 http://sqlfiddle.com/#!3/b4306/4 – eggyal
괜찮아요, 전 mysql을 사용하지 않지만 누군가가 당신에게 내가 아래에 보여준 것보다 간단한 쿼리를 보여 주며 답을 답으로 표시 할 것입니다. 하지만 내 대답이 도움이되고 당신이 내게 upvote, 감사를 쏘고 싶다면. 이와 같이 많은 문제가있는 경우 "그룹당 최대 n 개"라는 질문을 읽으면 재미있는 방법이 많이 있습니다. –