집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 그룹 내 행에 순차적으로 번호를 매기는 방법은 무엇입니까?
SQL에서 키가 지정된 그룹별로 행에 순차적으로 번호를 매기는 작업
SQL에서 특정 키로 그룹화된 행에 순차적으로 번호를 매기는 작업은 SQL에서 일반적인 요구 사항입니다. 데이터 처리. 이를 달성하기 위해 다양한 SQL 데이터베이스는 각 키 그룹 내에서 효율적이고 정확한 행 번호 지정을 허용하는 기본 기능과 기술을 제공합니다.
다른 데이터베이스에서의 구현
많은 인기 있는 SQL 데이터베이스는 순차적 행 번호 지정을 위한 내장 함수 또는 확장 기능을 제공합니다.
예시 쿼리
CODE 열로 그룹화된 튜플이 있는 다음 예제 테이블을 고려하세요.
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 그룹 내에서 행 번호가 순차적으로 매겨진 다음과 같은 출력을 생성합니다.
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() 함수는 기본적으로 1부터 번호를 매깁니다. 원하는 출력에 맞추기 위해 ROW_NUMBER() OVER (PARTITION BY ...) - 1 표현식을 사용하여 번호 매기기를 1 기반에서 0 기반으로 이동합니다.
위 내용은 SQL에서 그룹 내 행에 순차적으로 번호를 매기는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!