>데이터 베이스 >MySQL 튜토리얼 >SQL에서 키 그룹화를 사용하여 순차적 행 번호 매기기를 구현하는 방법은 무엇입니까?

SQL에서 키 그룹화를 사용하여 순차적 행 번호 매기기를 구현하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-22 19:57:16861검색

How to Implement Sequential Row Numbering with Key Grouping in SQL?

SQL에서 키 그룹화를 사용한 순차적 행 번호 지정

SQL은 특정 키 그룹 내의 행을 순차적으로 열거하는 강력한 기능을 제공합니다. 이 기능은 고유한 카테고리나 속성을 기반으로 데이터를 구성해야 할 때 특히 유용합니다. 다양한 SQL 언어에서 이 기능이 어떻게 작동하는지 살펴보겠습니다.

다양한 SQL 언어로 구현

다음 SQL 언어는 키 그룹별로 순차적 행 번호 매기기에 대한 솔루션을 제공합니다.

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

샘플 데이터 및 원하는 투영

(CODE, NAME) 튜플이 포함된 다음 샘플 테이블을 고려하세요.

CODE NAME    
---- ----
A    Apple
A    Angel
A    Arizona
B    Bravo
C    Charlie
C    Cat
D    Dog
D    Doppler
D    Data
D    Down

원하는 CODE를 그룹화 속성으로 사용하는 투영은 다음과 같습니다. like:

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

순차 행 번호 지정을 수행하기 위한 SQL 쿼리

키 그룹별로 이 순차적 행 번호 지정을 달성하려면 다음 SQL 쿼리를 활용할 수 있습니다.

SELECT
    CODE,
    ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 As C_NO,
    NAME
FROM
    MyTable

이 쿼리는 CODE 열을 기준으로 테이블을 분할하고 각 파티션 내의 레코드를 CODE 열에 따라 정렬합니다. NAME 열을 입력한 다음 결과 행 번호에서 1을 빼서 각 키 그룹에 대해 0부터 시작하는 원하는 순차 번호를 얻습니다.

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

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