Heim > Datenbank > MySQL-Tutorial > Wie rufe ich den maximalen „Gesamtwert' für jeden eindeutigen „Namen' in SQL ab?

Wie rufe ich den maximalen „Gesamtwert' für jeden eindeutigen „Namen' in SQL ab?

Susan Sarandon
Freigeben: 2025-01-07 21:20:41
Original
471 Leute haben es durchsucht

How to Retrieve the Maximum

SQL-Tipp: Maximalwert nach Gruppe extrahieren

Bei Datenbankabfragen ist es häufig erforderlich, den Maximalwert für jede unterschiedliche Gruppierung in der Tabelle zu extrahieren. In diesem Artikel wird das Problem gelöst, wie der Datensatz mit dem höchsten „Gesamt“-Wert für jeden eindeutigen „Namen“ in einer Tabelle ausgewählt wird.

Beispieltabellen und Daten:

Angenommen, wir haben die folgende Beispieltabelle:

Name Top Total
cat 1 10
dog 2 7
cat 3 20
horse 4 4
cat 5 10
dog 6 9

Abfrageziel:

Unser Ziel ist es, die folgenden Ergebnisse zu extrahieren:

Name Top Total
cat 3 20
horse 4 4
dog 6 9

Lösung:

Dies kann mit der folgenden SQL-Abfrage erreicht werden:

<code class="language-sql">SELECT
  Name, Top, Total
FROM
  sometable
WHERE
  Total = (SELECT MAX(Total) FROM sometable i WHERE i.Name = sometable.Name);</code>
Nach dem Login kopieren

Erklärung:

Diese Abfrage verwendet eine Unterabfrage in der WHERE-Klausel. Die Unterabfrage ermittelt den Maximalwert von „Total“ für jede Gruppe basierend auf „Name“. Die äußere Abfrage filtert dann die Tabelle und wählt nur die Datensätze aus, deren „Total“ diesem Maximalwert entspricht.

Alternative:

Alternative zur Verwendung von Inner Joins:

<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>
Nach dem Login kopieren

Fazit:

Beide Methoden sind effektiv beim Extrahieren der erforderlichen Datensätze aus der Tabelle, indem sie den Maximalwert von „Total“ für jeden einzelnen „Namen“ ermitteln. Diese Abfragen können an verschiedene Datenbankverwaltungssysteme angepasst werden und bieten eine allgemeine Methode zum Extrahieren von Maximalwerten aus gruppierten Daten.

Das obige ist der detaillierte Inhalt vonWie rufe ich den maximalen „Gesamtwert' für jeden eindeutigen „Namen' in SQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage