Ausgabe von mehreren MIN-Werten

Keanu74

Neuer Benutzer
Beiträge
1
Liebe Community,
vielen Dank, dass Ihr Euch meinen Beitrag anschaut.

Ich habe eine Tabelle "torschuetzenliste", in der die Spalten id, spielername und tore vorhanden sind.

Diese sieht so aus:
id | spielername | tore
1 | spieler a | 13
2 | spieler b | 10
3 | spieler c | 8
4 | spieler d | 5
5 | spieler e | 5
6 | spieler f | 5

Wie muss ich nun meine SQL-Abfrage definieren, damit ich die niedrigsten MIN-Werte (also Trefferanzahl "5") ausgeben kann?

Die Ausgabe soll folgendermaßen aussehen:
4 | spieler d | 5
5 | spieler e | 5
6 | spieler f | 5

Achtung: Natürlich kann die Anzahl der niedrigsten Treffer variieren, das heißt, es ist nie von Beginn an klar, ob es EINEN niedrigsten Wert gibt oder MEHRERE (wie oben im Beispiel).

Vielen Dank im Voraus an Euch für Eurer Feedback ...
 
Werbung:
vielleicht eine alternative Lösung gefällig?

Code:
test=# select * from tore ;
 spieler | tore
---------+------
 a  |  10
 b  |  8
 c  |  2
 d  |  2
 e  |  2
(5 rows)

test=# with rangliste as (select *, dense_rank() over (order by tore) from tore) select * from rangliste where dense_rank = 1;
 spieler | tore | dense_rank
---------+------+------------
 c  |  2 |  1
 d  |  2 |  1
 e  |  2 |  1
(3 rows)

test=#
 
Werbung:
Es gäbe auch noch andere Wege z.B. über LEFT JOIN. Wichtig wäre zu wissen ob MySQL oder MariaDB und was das Problem mit der Lösung im PHP Forum ist (die könnte mehrere Zeilen liefern).
 
Zurück
Oben