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

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

Patricia Arquette
Patricia Arquetteasal
2024-11-30 16:50:13443semak imbas

How to Retrieve the Row with the Lowest Value for Each Dealer in MySQL?

Mendapatkan Nilai Terendah untuk Setiap Peniaga dalam MySQL

Masalah

Dalam pangkalan data yang mengandungi jadual dengan id lajur, nama, nilai dan peniaga, tugasnya adalah untuk mengambil baris dengan nilai terendah untuk setiap unik peniaga.

Penyelesaian

Kaedah 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;

Kaedah 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;

Masalah ini biasanya dikenali sebagai "Row Holding the Group-wise Maksimum/Minimum Lajur Tertentu." Penyelesaian kedua biasanya lebih cekap daripada yang pertama.

Untuk maklumat lanjut, rujuk halaman yang sepadan dalam manual MySQL: https://dev.mysql.com/doc/refman/8.0/en/group -by-rows-max-min.html

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris dengan Nilai Terendah 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