SQL: Identifizieren Sie den Datensatz mit dem Maximalwert in jeder Gruppierung
Angenommen, es gibt eine Tabelle mit drei Feldern (Name, höchster Wert und Gesamtwert) und Daten, und die Aufgabe besteht darin, den Datensatz mit dem höchsten Gesamtwert für jeden einzelnen Namen abzurufen.
Lösung:
Die folgende Abfrage liefert die gewünschten Ergebnisse:
<code class="language-sql">SELECT Name, Top, Total FROM sometable WHERE Total = (SELECT MAX(Total) FROM sometable i WHERE i.Name = sometable.Name);</code>
Alternative:
Ein anderer Ansatz besteht darin, eine Unterabfrage zu verwenden, um den maximalen Gesamtwert für jeden Namen zu ermitteln und dann das Ergebnis mit der Originaltabelle zu verknüpfen, um die entsprechenden Datensätze abzurufen:
<code class="language-sql">SELECT Name, Top, Total FROM sometable INNER JOIN ( SELECT MAX(Total) AS Total, Name FROM sometable GROUP BY Name ) AS max ON max.Name = sometable.Name AND max.Total = sometable.Total;</code>
Das obige ist der detaillierte Inhalt vonWie finde ich den Datensatz mit dem Maximalwert für jede Gruppe in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!