Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan Kembali Kedudukan Baris dalam Jadual MySQL Selepas Memesan?

Bagaimana untuk Mendapatkan Kembali Kedudukan Baris dalam Jadual MySQL Selepas Memesan?

Linda Hamilton
Lepaskan: 2025-01-18 02:18:14
asal
194 orang telah melayarinya

How to Retrieve a Row's Position in a MySQL Table After Ordering?

Mencari Kedudukan Baris dalam Jadual MySQL Tersusun

Dalam operasi pangkalan data MySQL, anda mungkin perlu mengenal pasti baris tertentu dan kedudukannya dalam jadual selepas membuat pesanan mengikut lajur tertentu. Berikut ialah strategi yang berkesan untuk mencapainya:

Kaedah 1: Menggunakan Permulaan Pembolehubah

Teknik ini menggunakan pembolehubah (@rownum) untuk mengekalkan kedudukan baris. Pertanyaan di bawah menunjukkan cara ini berfungsi:

<code class="language-sql">SELECT x.id, 
       x.rank,
       x.name
  FROM (SELECT t.id,
               t.name,
               @rownum := @rownum + 1 AS rank
          FROM TABLE t
          JOIN (SELECT @rownum := 0) r
      ORDER BY t.name) x
 WHERE x.name = 'Beta'</code>
Salin selepas log masuk

Kaedah 2: Menggunakan Subkueri

Pendekatan lain melibatkan penggunaan subkueri untuk mengira baris yang memenuhi syarat tertentu. Contoh pertanyaan ialah:

<code class="language-sql">SELECT t.id,
       (SELECT COUNT(*)
          FROM TABLE x
         WHERE x.name < t.name) + 1 AS rank
  FROM TABLE t
 WHERE t.name = 'Beta'</code>
Salin selepas log masuk

Perbezaan utama: Pertanyaan pertama memberikan nilai kedudukan unik, walaupun untuk baris dengan nilai yang sama dalam lajur pesanan. Pertanyaan kedua mungkin menetapkan kedudukan yang sama kepada baris dengan nilai terikat. Kedua-dua kaedah mendapatkan semula baris dan kedudukannya dengan cekap tanpa mendapatkan semula keseluruhan jadual.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kembali Kedudukan Baris dalam Jadual MySQL Selepas Memesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan