Mendapatkan Nilai Terendah Setiap Peniaga dalam MySQL
Untuk struktur pangkalan data dengan id lajur, nama, nilai dan peniaga, persoalan timbul sebagai bagaimana untuk mendapatkan baris dengan nilai terendah bagi setiap peniaga individu. Semasa mencuba penyelesaian menggunakan MIN() dan GROUP BY, tiada hasil yang memuaskan telah dicapai.
Penyelesaian:
Untuk menyelesaikan isu ini, dua pendekatan tersedia:
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 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
Nota: Penyelesaian 2 jauh lebih pantas daripada Penyelesaian 1.
Untuk butiran lanjut, rujuk MySQL manual:
https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_row-number
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Minimum untuk Setiap Peniaga dalam MySQL dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!