Rumah >pangkalan data >tutorial mysql >Bagaimana saya boleh meniru fungsi row_number () SQL Server di mysql?

Bagaimana saya boleh meniru fungsi row_number () SQL Server di mysql?

Barbara Streisand
Barbara Streisandasal
2025-01-25 09:02:13146semak imbas

How Can I Replicate SQL Server's ROW_NUMBER() Function in MySQL?

simulasi row_number SQL Server () dalam mysql

fungsi

SQL Server tidak mempunyai setara langsung dalam versi MySQL yang lebih lama (sebelum 8.0). Ini mewujudkan keperluan untuk penyelesaian. ROW_NUMBER()

Pendekatan biasa menggunakan tugasan berubah dalam pertanyaan:

<code class="language-sql">SELECT t.*, @rownum := @rownum + 1 AS rank
FROM YOUR_TABLE t, (SELECT @rownum := 0) r;</code>
Kaedah ini, bagaimanapun, jatuh pendek apabila pembahagian diperlukan (pengelompokan oleh beberapa lajur). Peningkatan pembolehubah mudah tidak diset semula dengan sewajarnya merentasi partition yang berbeza. Manipulasi pembolehubah yang lebih kompleks dan logik bersyarat diperlukan untuk meniru tingkah laku partition

. ROW_NUMBER()

penyelesaian yang lebih mantap, terutamanya untuk senario partition, terperinci oleh QUASSNOI: Penting untuk diperhatikan bahawa versi MySQL 8.0 dan kemudian Do termasuk fungsi

, menghapuskan keperluan untuk penyelesaian ini. Sekiranya boleh, menaik taraf ke versi MySQL yang lebih baru adalah penyelesaian yang disyorkan.

Atas ialah kandungan terperinci Bagaimana saya boleh meniru fungsi row_number () SQL Server di 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