Penjelasan terperinci kaedah ranking pelanggan MySQL
Menetapkan kedudukan berdasarkan kriteria tertentu ialah tugas biasa apabila bekerja dengan data pelanggan. MySQL menyediakan beberapa cara untuk mencapai matlamat ini.
Salah satu cara ialah menggunakan pembolehubah kedudukan, seperti yang ditunjukkan dalam pertanyaan berikut:
<code class="language-sql">SELECT first_name, age, gender, @curRank := @curRank + 1 AS rank FROM person p, (SELECT @curRank := 0) r ORDER BY age;</code>
Di sini, pembolehubah @curRank dimulakan kepada 0 dan kemudian dinaikkan untuk setiap baris dalam jadual. Ini membolehkan kami menetapkan kedudukan berdasarkan umur pelanggan kami.
Pendekatan lain ialah menggunakan fungsi ROW_NUMBER(), yang mengembalikan nombor urutan unik untuk setiap baris dalam partition. Pertanyaan berikut menunjukkan penggunaannya:
<code class="language-sql">SELECT first_name, age, gender, ROW_NUMBER() OVER (PARTITION BY gender ORDER BY age) AS rank FROM person;</code>
Dalam pertanyaan ini, fungsi ROW_NUMBER() menetapkan kedudukan dalam setiap partition jantina, membolehkan kami menilai pelanggan berdasarkan umur mereka untuk jantina masing-masing.
Akhir sekali, kedudukan tanpa jurang boleh ditetapkan menggunakan fungsi DENSE_RANK(). Ia melangkau kedudukan yang sebaliknya akan diberikan kepada nilai pendua. Pertanyaan berikut menunjukkan penggunaannya:
<code class="language-sql">SELECT first_name, age, gender, DENSE_RANK() OVER (PARTITION BY gender ORDER BY age) AS rank FROM person;</code>
Dengan memilih fungsi penarafan yang sesuai, pembangun boleh menetapkan kedudukan secara cekap kepada data pelanggan dalam MySQL untuk pelbagai tujuan analisis.
Atas ialah kandungan terperinci Bagaimana Kedudukan Pelanggan dalam MySQL Menggunakan Pembolehubah dan Fungsi Tetingkap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!