Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menetapkan Nombor Baris Berjujukan mengikut Kumpulan Utama dalam SQL?

Bagaimana untuk Menetapkan Nombor Baris Berjujukan mengikut Kumpulan Utama dalam SQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-20 15:39:11632semak imbas

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

Penomboran Baris Berjujukan mengikut Kumpulan Utama dalam SQL

Dalam SQL, fungsi ROW_NUMBER() memperuntukkan nombor berjujukan kepada baris dalam set hasil. Untuk menetapkan nombor berjujukan mengikut kumpulan kunci, gunakan klausa PARTITION BY untuk mengumpulkan data mengikut kekunci yang dikehendaki.

Berikut ialah contoh untuk jadual yang diberikan dan output yang diingini:

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

Output:

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

Pertanyaan ini memberikan nombor baris berjujukan (C_NO) untuk setiap kumpulan utama (CODE), bermula dari 0, dalam tertib menaik NAME dalam setiap kumpulan.

Pangkalan Data Disokong:

Fungsi ROW_NUMBER() dengan PARTITION BY disokong dalam pangkalan data berikut:

  • SQL Pelayan
  • Oracle
  • Postgres
  • Sybase
  • MySQL 8.0
  • MariaDB 10.2
  • SQLite 2
  • SQLite 🎜>

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Nombor Baris Berjujukan mengikut Kumpulan Utama dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn