집 >데이터 베이스 >MySQL 튜토리얼 >MySQL에서 정렬된 데이터에 행 번호를 추가하는 방법은 무엇입니까?
MySQL에서 정렬된 데이터의 행 번호 추가
MySQL에서 정렬된 데이터로 작업할 때 각 레코드의 행 번호를 가져오면 제공되는 정보가 향상되고 보다 자세한 분석이 용이해집니다. 이 기사에서는 순수 SQL을 사용하여 이를 달성하는 방법을 살펴보고 Java 또는 기타 프로그래밍 언어에서 사후 처리를 방지하는 솔루션을 제공합니다.
데이터베이스 테이블 구조
필드가 "orderID" 및 "itemID"인 "orders"라는 다음 테이블을 살펴보세요.
<code class="language-sql">mysql> describe orders; +-------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------------+------+-----+---------+----------------+ | orderID | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | itemID | bigint(20) unsigned | NO | | NULL | | +-------------+---------------------+------+-----+---------+----------------+</code>
원래 쿼리
처음에는 쿼리를 사용하여 각 itemID의 주문 수를 가져옵니다.
<code class="language-sql">SELECT itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</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>+------+--------+------------+ | rank | itemID | ordercount | +------+--------+------------+ | 1 | 388 | 3 | | 2 | 234 | 2 | | 3 | 3432 | 1 | | 4 | 693 | 1 | | 5 | 3459 | 1 | +------+--------+------------+</code>
보시다시피 이제 각 행에는 정렬된 결과 집합에서의 위치를 나타내는 추가 "순위" 열이 있습니다.
위 내용은 MySQL에서 정렬된 데이터에 행 번호를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!