>데이터 베이스 >MySQL 튜토리얼 >SQL에서 그룹별로 순차적으로 행 번호를 매기는 방법은 무엇입니까?

SQL에서 그룹별로 순차적으로 행 번호를 매기는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-23 14:23:14733검색

How to Number Rows Sequentially by Group in 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 Server
  • Oracle
  • Postgres
  • Sybase
  • MySQL 8.0
  • 마리아DB 10.2
  • SQLite 3.25

가장 일반적으로 사용되는 SQL 데이터베이스를 다룹니다.

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

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