MySQL: Zeilen mit dem niedrigsten Wert für jeden Händler abrufen
Die vorliegende Aufgabe besteht darin, die Zeilen mit den niedrigsten Werten für jeden einzelnen Händler abzurufen Händler aus einer Datenbanktabelle mit Spalten wie ID, Name, Wert und Händler.
Strategie:
Um dieses Problem zu lösen, werden im Folgenden zwei Lösungen vorgestellt:
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
Diese Lösung funktioniert, indem zunächst der Mindestwert für jeden Händler mithilfe von MIN() und GROUP BY ermittelt wird. Anschließend wird dieses Ergebnis mit der Originaltabelle verknüpft, indem ein INNER JOIN für die Spalte „Dealer“ und die Spalte „min_value“ verwendet wird.
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
Lösung 2 verwendet einen LEFT JOIN, um Zeilen zu finden, in denen es keine Zeilen mit höheren Werten für denselben Händler gibt. Folglich werden für jeden Händler die Zeilen mit den niedrigsten Werten erzeugt.
Wichtiger Hinweis:
Die MySQL-Dokumentation verfügt über eine eigene Seite für dieses spezielle Problem: „Zeilen, die die Gruppenweises Maximum/Minimum einer bestimmten Spalte“. Weitere Informationen und alternative Ansätze finden Sie auf dieser Seite.
Das obige ist der detaillierte Inhalt vonWie rufe ich Zeilen mit dem Mindestwert für jeden Händler in MySQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!