Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Baris dengan Nilai Minimum untuk Setiap Peniaga dalam MySQL?
MySQL: Mendapatkan Baris dengan Nilai Terendah untuk Setiap Peniaga
Tugas di tangan melibatkan pengambilan baris dengan nilai terendah untuk setiap yang berbeza peniaga daripada jadual pangkalan data yang mengandungi lajur seperti id, nama, nilai dan peniaga.
Strategi:
Untuk menyelesaikan masalah ini, dua penyelesaian dibentangkan di bawah:
Penyelesaian 1:
SELECT t1.* FROM your_table t1 JOIN ( SELECT MIN(value) AS min_value, dealer FROM your_table GROUP BY dealer ) AS t2 ON t1.dealer = t2.dealer AND t1.value = t2.min_value
Penyelesaian ini berfungsi dengan terlebih dahulu mencari nilai minimum untuk setiap peniaga menggunakan MIN() dan GROUP BY. Ia kemudiannya menggabungkan hasil ini dengan jadual asal menggunakan INNER JOIN pada lajur peniaga dan lajur nilai_min.
Penyelesaian 2(Disyorkan):
SELECT t1.* FROM your_table t1 LEFT JOIN your_table t2 ON t1.dealer = t2.dealer AND t1.value > t2.value WHERE t2.value IS NULL
Penyelesaian 2 menggunakan LEFT JOIN untuk mencari baris yang tiada baris dengan nilai yang lebih tinggi untuk peniaga yang sama. Akibatnya, ia menghasilkan baris dengan nilai terendah untuk setiap peniaga.
Nota Penting:
Dokumentasi Mysql mempunyai halaman khusus untuk masalah khusus ini: "Rows Holding the Maksimum/Minimum Lajur Tertentu mengikut kumpulan". Rujuk halaman ini untuk mendapatkan maklumat tambahan dan pendekatan alternatif.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris dengan Nilai Minimum untuk Setiap Peniaga dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!