Ermitteln der beiden obersten Zeilen für jede Gruppe in SQL
SQL-Abfragen ermöglichen es Benutzern, bestimmte Daten aus Tabellen zu extrahieren, aber was ist, wenn Sie sie benötigen? die beiden obersten Zeilen für jede Gruppe auswählen? Dieses Szenario kann auftreten, wenn Sie die Datensätze mit der höchsten Bewertung analysieren oder mehrere Werte innerhalb einer Gruppe abrufen möchten.
Betrachten wir die folgende Tabelle als Beispiel:
NAME | SCORE |
---|---|
willy | 1 |
willy | 2 |
willy | 3 |
zoe | 4 |
zoe | 5 |
zoe | 6 |
Um die abzurufen Um die beiden höchsten Werte für jeden Namen zu ermitteln, können wir die folgende SQL-Abfrage verwenden:
SELECT * FROM test s WHERE ( SELECT COUNT(*) FROM test f WHERE f.name = s.name AND f.score >= s.score ) <= 2
So funktioniert die Abfrage funktioniert:
Die erwartete Ausgabe für diese Abfrage lautet wie folgt:
NAME | SCORE |
---|---|
willy | 2 |
willy | 3 |
zoe | 5 |
zoe | 6 |
Das obige ist der detaillierte Inhalt vonWie erhalte ich die beiden obersten Zeilen für jede Gruppe in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!