Abrufen des niedrigsten Werts pro Händler in MySQL
Für eine Datenbankstruktur mit den Spalten ID, Name, Wert und Händler stellt sich die Frage wie folgt erfahren Sie, wie Sie für jeden einzelnen Händler die Zeilen mit dem niedrigsten Wert erhalten. Bei Lösungsversuchen mit MIN() und GROUP BY wurde kein zufriedenstellendes Ergebnis erzielt.
Lösung:
Um dieses Problem zu lösen, stehen zwei Ansätze zur Verfügung:
Lösung 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
Lösung 2 (Empfohlen):
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
Hinweis:Lösung 2 ist erheblich schneller als Lösung 1.
Weitere Einzelheiten finden Sie im MySQL Handbuch:
https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_row-number
Das obige ist der detaillierte Inhalt vonWie kann der Mindestwert für jeden Händler in MySQL effizient abgerufen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!