이미지에 가장 일반적인 색상의 표가 있습니다. 모양은 다음과 같습니다.그룹 별 최대 행의 값
file | color | count
---------------------
1 | ffefad | 166
1 | 443834 | 84
2 | 74758a | 3874
2 | abcdef | 228
2 | 876543 | 498
3 | 543432 | 3382
3 | abcdef | 483
각 이미지에 가장 일반적인 색상을 얻으려고합니다.
file | color | count
---------------------
1 | ffefad | 166
2 | 74758a | 3874
3 | 543432 | 3382
그래서 내 문제는 내가
file
열 BY GROUP 필요 것 같다,하지만 MAX()는
count
열 : 그래서 난 할 내 결과를 싶습니다. 하지만 간단히
SELECT h.file, h.color, MAX(h.count) FROM histogram GROUP BY h.file
이 불확실하기 때문에 작동하지 않습니다. 따라서 색상 결과가 카운트 결과의 행과 일치하지 않습니다.
SELECT h.file, h.color, MAX(h.count) FROM histogram GROUP BY h.file, h.color
은 결정 성을 수정하지만 모든 행은 이제 "고유"로 모든 행이 반환됩니다.
내가 얻을 수있는 "올바른"값, 파일 및 개수는 그 자체로 뚜렷하지 않으므로 하위 쿼리 또는 조인을 수행하는 방법을 알아낼 수 없습니다.
아마 saner 스키마가 필요합니까? 그것은 "내"테이블이므로 필요한 경우 변경할 수 있습니다.
답변을 수락하기 전에 기다려야합니다. @ Twelfth는 AgRizzo보다 2 ~ 3 배 빠릅니다. http://sqlfiddle.com/#!2/82203/8 –