Memilih Baris Teratas bagi setiap Kategori dalam MySQL
Untuk mendapatkan semula bilangan baris yang terhad daripada setiap kategori dalam jadual, anda boleh menggunakan fungsi analitik . Walau bagaimanapun, MySQL tidak menawarkan fungsi ini secara langsung. Namun begitu, adalah mungkin untuk menirunya menggunakan pembolehubah.
Meniru Fungsi Analitik
Pertanyaan MySQL berikut meniru fungsi fungsi analitik untuk memilih 3 baris teratas bagi setiap kategori :
<code class="mysql">SELECT x.* FROM ( SELECT t.*, CASE WHEN @category != t.category THEN @rownum := 1 ELSE @rownum := @rownum + 1 END AS rank, @category := t.category AS var_category FROM TBL_ARTIKUJT t JOIN (SELECT @rownum := NULL, @category := '') r ORDER BY t.category ) x WHERE x.rank <= 3</code>
Penjelasan
Kaedah ini membolehkan anda melaksanakan fungsi yang diingini tanpa bergantung pada fungsi analitik, yang tidak disokong oleh MySQL.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Teratas setiap Kategori dengan Cekap dalam MySQL Tanpa Fungsi Analitik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!