Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Baris dengan Nilai Minimum untuk Setiap Peniaga dalam MySQL?

Bagaimana untuk Mendapatkan Baris dengan Nilai Minimum untuk Setiap Peniaga dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-12-04 07:54:15274semak imbas

How to Retrieve Rows with the Minimum Value for Each Dealer in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn