MySQL: Dapatkan nombor baris daripada hasil SELECT diisih
Soalan:
Bagaimana untuk mendapatkan nombor baris item yang diisih dalam pernyataan SELECT MySQL?
Latar belakang:
Pertimbangkan jadual yang dipanggil 'pesanan' yang mengandungi lajur 'orderID' dan 'itemID'. Pertanyaan yang ditunjukkan di bawah mengira kuantiti pesanan mengikut 'itemID':
<code class="language-sql">SELECT itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
Pertanyaan ini mengembalikan kiraan item tetapi bukan nombor baris.
Penyelesaian:
Untuk mendapatkan semula nombor baris, gunakan teknik berikut:
<code class="language-sql">SET @rank=0;</code>
<code class="language-sql">SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) as ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
<code class="language-sql">SELECT @rank;</code>
Contoh:
Pertanyaan berikut mengembalikan nombor baris dan kiraan item:
<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>
Output:
<code>1 | 388 | 3 2 | 234 | 2 3 | 693 | 1 4 | 3432 | 1 5 | 3459 | 1</code>
Kiraan baris akhir ialah 5.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Nombor Baris ke Keputusan SELECT Diisih dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!