MySQL에서 범주별 상위 행 선택
테이블의 각 범주에서 제한된 수의 행을 검색하려면 분석 기능을 활용할 수 있습니다. . 그러나 MySQL은 이러한 기능을 직접 제공하지 않습니다. 그럼에도 불구하고 변수를 사용하여 이를 에뮬레이트하는 것은 가능합니다.
분석 함수 에뮬레이션
다음 MySQL 쿼리는 분석 함수의 기능을 에뮬레이트하여 각 범주에 대해 상위 3개 행을 선택합니다. :
<code class="mysql">SELECT x.* FROM ( SELECT t.*, CASE WHEN @category != t.category THEN @rownum := 1 ELSE @rownum := @rownum + 1 END AS rank, @category := t.category AS var_category FROM TBL_ARTIKUJT t JOIN (SELECT @rownum := NULL, @category := '') r ORDER BY t.category ) x WHERE x.rank <= 3</code>
설명
이 방법을 사용하면 MySQL에서 지원하지 않는 분석 기능에 의존하지 않고 원하는 기능을 구현할 수 있습니다.
위 내용은 분석 기능 없이 MySQL에서 범주별 상위 행을 효율적으로 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!