집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 그룹별로 순차적으로 행 번호를 매기는 방법은 무엇입니까?
SQL에서 그룹 키를 기준으로 순차적으로 행 번호 매기기
SQL에서는 ROW_NUMBER() 함수를 사용하여 키 그룹 내의 행에 순차적으로 번호를 매길 수 있습니다. . 이 함수는 PARTITION BY 절로 정의된 파티션 내의 각 행에 고유 번호를 할당합니다.
구문:
SELECT *, ROW_NUMBER() OVER (PARTITION BY key_column ORDER BY order_column) - 1 AS row_number FROM table_name
예:
테이블을 고려해보세요 제공됨:
CODE | NAME |
---|---|
A | Apple |
A | Angel |
A | Arizona |
B | Bravo |
C | Charlie |
C | Cat |
D | Dog |
D | Data |
D | Down |
D | Doppler |
CODE 그룹 내에서 행에 순차적으로 번호를 매기려면 다음 쿼리를 사용하십시오.
SELECT CODE, ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 AS C_NO, NAME FROM MyTable
이렇게 하면 원하는 결과가 생성됩니다.
CODE | C_NO | NAME |
---|---|---|
A | 0 | Apple |
A | 1 | Angel |
A | 2 | Arizona |
B | 0 | Bravo |
C | 1 | Charlie |
C | 0 | Cat |
D | 0 | Dog |
D | 1 | Data |
D | 2 | Down |
D | 3 | Doppler |
호환성:
ROW_NUMBER() 함수 다음 데이터베이스에서 지원됩니다.
가장 일반적으로 사용되는 SQL 데이터베이스를 다룹니다.
위 내용은 SQL에서 그룹별로 순차적으로 행 번호를 매기는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!