Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Mencapai Fungsi ROW_NUMBER() dalam MySQL?

Bagaimanakah Saya Boleh Mencapai Fungsi ROW_NUMBER() dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-25 08:57:09596semak imbas

How Can I Achieve ROW_NUMBER() Functionality in MySQL?

simulasi fungsi row_number () dalam mysql

fungsi Row_Number () SQL Server boleh dihitung untuk perintah pengedaran dalam partition yang diberikan. Walaupun MySQL tidak mempunyai fungsi yang sama, terdapat beberapa cara untuk mencapai fungsi yang sama.

Gunakan pembolehubah untuk mencapai nombor baris

Dalam versi MySQL sebelum 8.0, anda boleh menggunakan pembolehubah untuk meningkatkan nombor garis dalam partition. Pertanyaan berikut menunjukkan kaedah ini:

Pertanyaan ini adalah nombor pesanan pengedaran setiap baris, dan pembolehubah@rownum semakin meningkat dalam setiap baris.

<code class="language-sql">SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM YOUR_TABLE t, 
       (SELECT @rownum := 0) r</code>
Proses Pelbagai Partitions

Jika partition mengandungi pelbagai lajur, pelbagai pembolehubah boleh dibuat, dan ia ditetapkan kepada 0 apabila nilai salah satu lajur partition berubah. Sebagai contoh, tekan Col1 dan Col2 untuk partition:

<:> Nota: ditambah untuk memastikan konsistensi keputusan, kerana urutan nilai bergantung bergantung kepada susunan bacaan data.

Kenyataan juga telah diselaraskan untuk menyatakan logik dengan lebih jelas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Fungsi ROW_NUMBER() dalam MySQL?. 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