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

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

DDD
DDDasal
2024-11-29 11:26:11119semak imbas

How to Efficiently Retrieve the Minimum Value for Each Dealer in MySQL?

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!

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