Tambah nombor baris untuk data diisih dalam MySQL
Apabila bekerja dengan data yang diisih dalam MySQL, mendapatkan nombor baris untuk setiap rekod boleh meningkatkan maklumat yang diberikan dan memudahkan analisis yang lebih terperinci. Artikel ini meneroka cara untuk mencapai ini menggunakan SQL tulen, menyediakan penyelesaian yang mengelakkan pasca pemprosesan dalam Java atau bahasa pengaturcaraan lain.
Struktur jadual pangkalan data
Pertimbangkan jadual berikut bernama "pesanan" dengan medan "orderID" dan "itemID":
<code class="language-sql">mysql> describe orders; +-------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------------+------+-----+---------+----------------+ | orderID | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | itemID | bigint(20) unsigned | NO | | NULL | | +-------------+---------------------+------+-----+---------+----------------+</code>
Pertanyaan asal
Pada mulanya, gunakan pertanyaan untuk mendapatkan kiraan pesanan bagi setiap itemID:
<code class="language-sql">SELECT itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
Tambah nombor baris
Untuk menambah nombor baris, anda boleh mengubah suai pertanyaan seperti berikut:
<code class="language-sql">SET @rank=0; SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC; SELECT @rank;</code>
Penerangan
Hasil yang dipertingkatkan
Menjalankan pertanyaan yang diubah suai akan memberikan hasil yang dipertingkatkan berikut:
<code>+------+--------+------------+ | rank | itemID | ordercount | +------+--------+------------+ | 1 | 388 | 3 | | 2 | 234 | 2 | | 3 | 3432 | 1 | | 4 | 693 | 1 | | 5 | 3459 | 1 | +------+--------+------------+</code>
Seperti yang anda lihat, setiap baris kini mempunyai lajur "kedudukan" tambahan yang menunjukkan kedudukannya dalam set hasil diisih.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Nombor Baris ke Data Isih dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!