Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Nombor Baris Secara Berurutan mengikut Kumpulan dalam SQL?

Bagaimana untuk Nombor Baris Secara Berurutan mengikut Kumpulan dalam SQL?

Susan Sarandon
Susan Sarandonasal
2024-12-23 14:23:14705semak imbas

How to Number Rows Sequentially by Group in SQL?

Menomborkan Baris Secara Berurutan mengikut Kunci Kumpulan dalam SQL

Dalam SQL, anda boleh nombor baris secara berurutan dalam kumpulan kunci menggunakan fungsi ROW_NUMBER() . Fungsi ini memberikan nombor unik kepada setiap baris dalam partition, yang ditakrifkan oleh klausa PARTITION BY.

Syntax:

SELECT
    *,
    ROW_NUMBER() OVER (PARTITION BY key_column ORDER BY order_column) - 1 AS row_number
FROM
    table_name

Contoh:

Pertimbangkan jadual disediakan:

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

Untuk menomborkan baris secara berurutan dalam kumpulan KOD, gunakan pertanyaan berikut:

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

Ini akan menghasilkan hasil yang diingini:

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

Keserasian:

Fungsi ROW_NUMBER() disokong oleh pangkalan data berikut:

  • SQL Server
  • Oracle
  • Postgres
  • Sybase
  • MySQL 8.0
  • Maria 10.2
  • SQLite 3.25

Ini merangkumi pangkalan data SQL yang paling biasa digunakan.

Atas ialah kandungan terperinci Bagaimana untuk Nombor Baris Secara Berurutan mengikut Kumpulan 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