정렬된 MySQL 쿼리 결과에 대한 행 번호 생성
이 가이드에서는 MySQL 쿼리 내에서 정렬된 데이터의 행 번호를 얻는 방법을 설명합니다. 목표는 선택한 정렬 기준에 따라 행의 순위를 오름차순 또는 내림차순으로 지정하는 것입니다. itemID
및 orderID
열이 있는 표를 사용하여 품목별 주문 계산 및 순위 지정을 보여드리겠습니다.
해결책에는 SQL 명령과 사용자 변수를 결합하는 것이 포함됩니다. 다음 쿼리는 방법을 보여줍니다.
<code class="language-sql">SET @rank:=0; SELECT @rank:= @rank + 1 AS rank, itemID, COUNT(*) AS ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC; SELECT @rank;</code>
이 쿼리는 먼저 사용자 변수 @rank
를 0으로 초기화합니다. 그런 다음 SELECT
문은 순위, itemID
및 각 항목의 주문 수를 검색합니다. 결과는 주문수 기준으로 내림차순으로 정렬됩니다.
마지막 SELECT @rank;
문은 처리된 총 행 수를 표시합니다. 이 기술은 원본 테이블을 변경하지 않고 행 번호를 계산합니다.
중요 고려 사항: 예상치 못한 행 순서 지정이 발생하는 경우(가끔 보고되는 바와 같이) ordercount
열의 색인이 생성되었는지 확인하세요. 인덱싱은 쿼리 성능을 향상시키고 정확한 정렬을 보장합니다.
위 내용은 MySQL 쿼리에서 정렬된 결과에 행 번호를 할당하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!