MySQL: Menjana Nombor Baris dalam Pertanyaan Tersusun
Menggunakan set data tersusun selalunya memerlukan penambahan nombor baris untuk kedudukan yang jelas. Walaupun pemprosesan pasca pertanyaan dalam bahasa seperti Java adalah mungkin, MySQL menawarkan penyelesaian terbina dalam untuk pengendalian asli yang cekap.
Bayangkan jadual dengan lajur itemID
dan matlamatnya adalah untuk mengira kejadian setiap itemID
. Pertanyaan SQL asas ialah:
<code class="language-sql">SELECT itemID, COUNT(*) AS ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
Pertanyaan ini memberikan kiraan, tetapi kekurangan nombor baris. Pembolehubah @rank
MySQL menyediakan penyelesaian. Kami memulakan pembolehubah kedudukan dan menambahnya dalam subkueri:
<code class="language-sql">SET @rank = 0;</code>
Pertanyaan yang dipertingkatkan kemudiannya menjadi:
<code class="language-sql">SELECT @rank:=@rank+1 AS rank, itemID, COUNT(*) AS ordercount FROM orders GROUP BY itemID ORDER BY ordercount DESC;</code>
AS rank
memberikan kedudukan yang dijana kepada lajur baharu.
Untuk mendapatkan semula nilai kedudukan akhir (walaupun ini selalunya tidak diperlukan kerana pangkat sudah disertakan dalam set hasil utama), anda boleh menambah:
<code class="language-sql">SELECT @rank;</code>
Kaedah ini menyepadukan penomboran baris dengan cekap ke dalam pertanyaan MySQL yang diisih, memudahkan analisis data kedudukan secara langsung dalam pangkalan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Nombor Baris ke Penyata Pilih MySQL yang Diisih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!