Anmelden

View Full Version : [Solved] MAX() in SQL Statement



JanItor
30-06-15, 10:12
Hallo,

wenn ich in einem einfachen SQL Statement die Funktion MAX() nutzen möchte bringt er mir den Fehler "Spalte XY oder Ausdruck in SELECT-Liste nicht gültig.".
Es ist dabei egal mit welchem Feld(typ) ich es probiere. Urspüngliches Ziel war es nur das aktuellste Datum zu selektieren.

Beispiel:



SELECT Spalte1, max(Spalte2), Spalte3, Spalte4
FROM Tabelle1
WHERE Spalte 1 = 1019720


Ohne MAX() geht es.
Wo liegt hier mein (Denk)Fehler?

andreaspr@aon.at
30-06-15, 10:19
Die GROUP BY Anweisung fehlt dir.

JanItor
30-06-15, 10:28
An welcher Stelle?

Mit

SELECT Spalte1, max(Spalte2), Spalte3, Spalte4
FROM Tabelle1
WHERE Spalte 1 = 1019720
GROUP BY Spalte1

bleibt mir der Fehler erhalten.

andreaspr@aon.at
30-06-15, 10:30
Fast richtig.
Du musst im group by alle Spalten angeben die im Select keine Aggregation haben.
Also spalte1, 3, 4

JanItor
30-06-15, 10:36
Besten Dank! <20Zeichen>

Fuerchau
12-07-15, 10:37
Alternativ nicht zu verwechseln mit der skalaren Max-Funktion:
max(a, b, c)
Die hat mit Aggregaten nix im Sinn.
Gut ist da dann auch "max(max(a, b, c))":).