> 데이터 베이스 > MySQL 튜토리얼 > MySQL에서 정렬된 SELECT 결과에 행 번호를 추가하는 방법은 무엇입니까?

MySQL에서 정렬된 SELECT 결과에 행 번호를 추가하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-22 00:08:11
원래의
455명이 탐색했습니다.

How to Add Row Numbers to Sorted SELECT Results in MySQL?

MySQL: 정렬된 SELECT 결과에서 행 번호 검색

질문:

MySQL의 SELECT 문에서 정렬된 항목의 행 번호를 어떻게 얻나요?

배경:

'orderID' 및 'itemID' 열이 포함된 'orders'라는 테이블을 생각해 보세요. 아래 쿼리는 'itemID'를 기준으로 주문 수량을 계산합니다.

<code class="language-sql">SELECT itemID, COUNT(*) as ordercount
FROM orders
GROUP BY itemID
ORDER BY ordercount DESC;</code>
로그인 후 복사

이 쿼리는 항목 수를 반환하지만 행 번호는 반환하지 않습니다.

해결책:

줄 번호를 검색하려면 다음 기술을 사용하세요.

  1. 현재 줄 번호를 저장하기 위한 변수 초기화:
<code class="language-sql">SET @rank=0;</code>
로그인 후 복사
  1. 변수를 사용하여 행 번호를 할당하도록 원래 쿼리를 수정합니다.
<code class="language-sql">SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) as ordercount
FROM orders
GROUP BY itemID
ORDER BY ordercount DESC;</code>
로그인 후 복사
  1. 다른 SELECT 문을 실행하여 최종 행 수를 검색합니다.
<code class="language-sql">SELECT @rank;</code>
로그인 후 복사

예:

다음 쿼리는 행 번호와 항목 수를 반환합니다.

<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>
로그인 후 복사

출력:

<code>1 | 388 | 3
2 | 234 | 2
3 | 693 | 1
4 | 3432 | 1
5 | 3459 | 1</code>
로그인 후 복사

최종 행 개수는 5입니다.

위 내용은 MySQL에서 정렬된 SELECT 결과에 행 번호를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿