Fungsi penarafan dalam MySQL
P粉310754094
2023-08-24 00:03:12
<p>Saya perlu mengetahui kedudukan pelanggan saya. Di sini saya menambah pertanyaan SQL standard ANSI yang sepadan mengikut keperluan saya. Tolong bantu saya menukarnya kepada MySQL. </p>
<pre class="brush:php;toolbar:false;">PILIH PANGKAT() SELESAI (PARTISIHAN MENGIKUT Jantina URUTAN MENGIKUT Umur) SEBAGAI [Pembahagian mengikut Jantina],
Nama pertama,
umur,
Jantina
DARI Orang</pra>
<p>Adakah terdapat fungsi untuk menanyakan kedudukan dalam MySQL? </p>
Ini ialah penyelesaian umum yang menetapkan tahap padat pada partition kepada baris. Ia menggunakan pembolehubah pengguna:
Sila ambil perhatian bahawa penugasan pembolehubah terletak di
CASE
表达式内。这(理论上)解决了评估顺序问题。添加IS NOT NULL
untuk mengendalikan penukaran jenis data dan isu litar pintas.PS: Ini boleh ditukar dengan mudah kepada nombor baris pada partition dengan mengalih keluar semua syarat yang menyemak ikatan.
db demo fiddle
Satu pilihan ialah menggunakan pembolehubah kedudukan seperti ini:
(SELECT @curRank := 0)
部分允许变量初始化,而无需单独的SET
Perintah.Kes ujian:
Hasil: