Menomborkan Baris Secara Berurutan mengikut Kumpulan Berkunci dalam SQL
Tugas menomborkan baris secara berurutan yang dikumpulkan oleh kunci tertentu dalam SQL adalah keperluan biasa dalam pemprosesan data. Untuk mencapai matlamat ini, pelbagai pangkalan data SQL menawarkan fungsi dan teknik asli yang membolehkan penomboran baris yang cekap dan tepat dalam setiap kumpulan utama.
Pelaksanaan dalam Pangkalan Data Berbeza
Banyak SQL yang popular pangkalan data menyediakan fungsi terbina dalam atau sambungan untuk baris berjujukan penomboran:
Contoh Pertanyaan
Pertimbangkan contoh jadual berikut dengan tupel dikumpulkan mengikut lajur KOD:
CODE | NAME ------|------ A | Apple A | Angel A | Arizona B | Bravo C | Charlie C | Cat D | Dog D | Data D | Down D | Doppler
Kepada berurutan nombor baris dalam setiap kumpulan KOD, pertanyaan berikut boleh digunakan:
SELECT CODE, ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 AS C_NO, NAME FROM MyTable;
Output
Pertanyaan akan menghasilkan output berikut, dengan baris dinomborkan secara berurutan dalam setiap kumpulan KOD:
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
Nota:
Fungsi ROW_NUMBER() bermula penomboran daripada 1 secara lalai. Untuk menjajarkan dengan output yang dikehendaki, ungkapan ROW_NUMBER() OVER (PARTITION BY ...) - 1 digunakan untuk mengalihkan penomboran daripada berasaskan 1 kepada berasaskan 0.
Atas ialah kandungan terperinci Bagaimana untuk Mengurutkan Nombor Baris dalam Kumpulan dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!