>데이터 베이스 >MySQL 튜토리얼 >SQL에서 키 그룹별로 연속 행 번호를 할당하는 방법은 무엇입니까?

SQL에서 키 그룹별로 연속 행 번호를 할당하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-20 15:39:11632검색

How to Assign Sequential Row Numbers by Key Group in SQL?

SQL에서 키 그룹별 순차적 행 번호 지정

SQL에서 ROW_NUMBER() 함수는 결과 집합 내의 행에 순차적 번호를 할당합니다. 키 그룹별로 순차 번호를 할당하려면 PARTITION BY 절을 사용하여 원하는 키별로 데이터를 그룹화하세요.

다음은 주어진 테이블과 원하는 출력에 대한 예입니다.

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

이 쿼리는 순차적인 행 번호를 할당합니다. (C_NO) 각 그룹 내 NAME의 오름차순으로 0부터 시작하는 각 키 그룹(CODE)에 대해

지원되는 데이터베이스:

ROW_NUMBER() 함수 PARTITION BY 사용은 다음 데이터베이스에서 지원됩니다:

  • SQL 서버
  • Oracle
  • Postgres
  • Sybase
  • MySQL 8.0
  • MariaDB 10.2
  • SQLite 3.25

위 내용은 SQL에서 키 그룹별로 연속 행 번호를 할당하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.