각 SQL 그룹에서 상위 2개 행 선택
SQL에서 일반적인 작업은 각 그룹의 상위 행만 검색하는 것입니다. 그러나 그룹화를 위한 표준 집계 함수(예: MAX() 및 MIN())에서는 가장 높은 값 또는 가장 낮은 값만 선택할 수 있습니다.
이름당 상위 2개 점수 선택 쿼리:
이 문제를 해결하려면 더 복잡한 쿼리가 필요합니다. 다음은 제공된 테이블에서 각 이름에 대해 상위 2개 점수를 선택하는 방법에 대한 예입니다.
SELECT * FROM test s WHERE ( SELECT COUNT(*) FROM test f WHERE f.name = s.name AND f.score >= s.score ) <= 2;
설명:
출력 예:
쿼리 위의 결과는 다음 출력을 반환합니다.
NAME SCORE ----------------- willy 2 willy 3 zoe 5 zoe 6
이 출력에는 요청한 대로 테이블의 각 이름에 대한 상위 2개 점수가 포함됩니다.
위 내용은 SQL에서 각 그룹의 상위 두 행을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!