Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Nombor Baris Secara Berurutan mengikut Kumpulan dalam 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:
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!