Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Penomboran Baris Berjujukan dengan Pengumpulan Utama dalam SQL?

Bagaimana untuk Melaksanakan Penomboran Baris Berjujukan dengan Pengumpulan Utama dalam SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-22 19:57:16861semak imbas

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

Penomboran Baris Berjujukan dengan Pengumpulan Utama dalam SQL

SQL menawarkan ciri berkuasa untuk menghitung baris secara berurutan dalam kumpulan utama tertentu. Fungsi ini terbukti amat berguna apabila anda perlu menyusun data berdasarkan kategori atau atribut yang berbeza. Mari kita terokai cara ciri ini berfungsi merentas pelbagai dialek SQL.

Pelaksanaan dalam Dialek SQL Berbeza

Dialek SQL berikut menyediakan penyelesaian untuk penomboran baris berurutan mengikut kumpulan berkunci:

  • SQL Pelayan
  • Oracle
  • PostgreSQL
  • Sybase
  • MySQL 8.0
  • MariaDB 10.2
  • SQL.

Data Sampel dan Unjuran Yang Diingini

Pertimbangkan jadual sampel berikut dengan tupel (KOD, NAMA):

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

Yang dikehendaki unjuran menggunakan KOD sebagai atribut kumpulan akan kelihatan seperti:

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 SQL untuk Mencapai Penomboran Baris Berjujukan

Untuk mencapai penomboran baris berjujukan ini mengikut kumpulan utama, anda boleh memanfaatkan pertanyaan SQL berikut:

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

Pertanyaan ini akan membahagikan jadual berdasarkan lajur KOD, menyusun rekod dalam setiap partisi dengan lajur NAMA, dan kemudian tolak 1 daripada nombor baris yang terhasil untuk mendapatkan penomboran urutan yang diingini bermula daripada 0 untuk setiap kumpulan kunci.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran Baris Berjujukan dengan Pengumpulan 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