SQL-Gruppen-Maximalwert-Suchmethode
In diesem Artikel wird erläutert, wie Sie den maximalen „Total“-Wertdatensatz, der jedem eindeutigen „Namen“ entspricht, aus einer Tabelle extrahieren, die mehrere „Name“, aber unterschiedliche „Total“-Werte enthält.
Eine Lösung besteht darin, eine Unterabfrage zu verwenden:
<code class="language-sql">SELECT Name, Top, Total FROM sometable WHERE Total = (SELECT MAX(Total) FROM sometable i WHERE i.Name = sometable.Name);</code>
Diese Unterabfrage ermittelt den maximalen „Gesamtwert“ für jeden „Namen“ und die Hauptabfrage filtert die passenden Datensätze heraus.
Eine andere Möglichkeit besteht darin, verschachtelte Abfragen zu verwenden:
<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>
Diese verschachtelte Abfrage erstellt eine temporäre Tabelle, die den maximalen „Gesamtwert“ für jeden „Namen“ enthält. Die Hauptabfrage verknüpft dann die Tabelle sometable
mit dieser temporären Tabelle, wobei die Werte „name“ und „total“ übereinstimmen. Das Ergebnis der Verbindung ist der maximale „Gesamtwert“-Datensatz, der jedem eindeutigen „Namen“ entspricht.
Das obige ist der detaillierte Inhalt vonWie finde ich den Maximalwert für jede Gruppe in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!