Frage von Meyerlein9999, 28

SQL MAX Aggregatfunktion. WIe Ausgabe des Spaltenname zusätzlich?

Hallo, nehmen wir an ich hätte ganz simpel die Tabelle Buch mit 2 Spalten. Erste Spalte Name des Buches, zweite Spalte Preis des Buches

Über die Aggregatfunktion MAX (PREIS) FROM Tabelle Buch;

weiß ich dass mir so das teuerste Buch ausgegeben wird. Allerdings taucht dann nicht der Name des teuersten Buches mit auf, sondern lediglich der höchste Preis. Wie bekomme ich dies hin ?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von ShitzOvran, 18

Ich würde so etwas machen wie

SELECT * FROM Tabelle_Buch WHERE PREIS in(SELECT MAX(PREIS) FROM Tabelle_Buch)




Antwort
von karinili, 22

Du gibst die Spalte Name mit aus.

Also SELECT name, max(preis) FROM Tabelle Buch ;)

Allerdings würde ich es wahrscheinlich über eine HAVING-Klausel lösen. Sprich:

SELECT name, preis
FROM Tabelle BUCH
GROUP BY name, preis
HAVING count(*) = (SELECT max(preis) FROM Tabelle Buch)

weil du dann auch besser einschränken könntest, welche Art von Buch du zum Beispiel möchtest.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten