> 데이터 베이스 > MySQL 튜토리얼 > MySQL 테이블에서 레코드 인덱스(행 번호)를 얻는 방법은 무엇입니까?

MySQL 테이블에서 레코드 인덱스(행 번호)를 얻는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-16 01:04:09
원래의
661명이 탐색했습니다.

How to Get the Record Index (Row Number) in a MySQL Table?

MySQL 테이블에서 레코드 인덱스 가져오기

MySQL에서 테이블에는 많은 수의 레코드가 포함되는 경우가 많습니다. 테이블의 각 행에 대한 레코드 인덱스 또는 행 위치를 포함하는 열이 있으면 유용할 수 있습니다. 이는 사용자 순위를 매기거나 특정 레코드의 위치를 ​​순서대로 표시하는 등 다양한 목적으로 사용될 수 있습니다.

해결책

다음을 포함하는 열을 생성하려면 레코드 인덱스에는 사용자 정의 변수와 조인 문을 조합하여 사용할 수 있습니다. 예는 다음과 같습니다.

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r;
로그인 후 복사

이 쿼리에서:

  • @curRow 변수는 (SELECT @curRow := 0) 문을 사용하여 0으로 초기화됩니다.
  • JOIN 문은 League_girl의 각 행에 대해 @curRow 변수가 1씩 증가하도록 보장합니다. table.
  • row_number 열에는 테이블의 각 행에 대한 레코드 인덱스가 포함됩니다.

사용 예

다음 League_girl 테이블을 고려하세요. :

position username score
1 a 10
2 b 25
3 c 75
4 d 25
5 e 55
6 f 80
7 g 15

다음 쿼리는 모든 항목에 대한 레코드 색인, 사용자 이름 및 점수를 반환합니다. League_girl 테이블에서 점수가 50보다 큰 행:

SELECT  l.position, 
        l.username, 
        l.score,
        @curRow := @curRow + 1 AS row_number
FROM    league_girl l
JOIN    (SELECT @curRow := 0) r
WHERE   l.score > 50;
로그인 후 복사

이 쿼리의 출력은 다음과 같습니다.

position username score row_number
3 c 75 1
5 e 55 2
6 f 80 3

위 내용은 MySQL 테이블에서 레코드 인덱스(행 번호)를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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