Gibt es in SQL nicht aggregierte Min / Max-Operatoren?

8

Gibt es sowas wie

? %Vor%

Ich bin nicht auf der Suche nach dem maximalen Wert der gesamten Tabelle

Es muss einen leichteren Weg geben als dieses Recht?

%Vor%

BEARBEITEN: Ich benutze Microsoft SQL Server

    
Colin 30.09.2011, 16:39
quelle

4 Antworten

9

Die Funktionen GREATEST und LEAST sind kein SQL-Standard, aber in vielen RDBMS (z. B. Postgresql). Also

%Vor%     
Andrew Lazarus 30.09.2011 16:43
quelle
1

Nicht in SQL per se . Viele Datenbank-Engines definieren jedoch eine Reihe von Funktionen, die Sie in SQL-Anweisungen verwenden können. Leider verwenden sie in der Regel andere Namen und Argumente Liste.

In MySQL ist die Funktion GRÖßTE. In SQLite ist es MAX (es funktioniert anders mit einem Parameter oder mehr).

    
Larry Lustig 30.09.2011 16:44
quelle
0

Machen Sie es zu einem Set-basierten JOIN?

%Vor%

Dies vermeidet ein skalares udf, das in der anderen Frage vorgeschlagen wird, die besser passen könnte

    
gbn 30.09.2011 17:47
quelle
-3

Was Sie in SQL haben, ist nicht einmal gültiges SQL. So funktioniert MAX in SQL nicht. In T-SQL aggregiert der MAX über einen Bereich, der den Maximalwert zurückgibt. Was Sie wollen, ist einfach der größere Wert von zwei.

Lesen Sie dies für weitere Informationen:

Gibt es eine Max-Funktion in SQL Server, die zwei Werte wie Math.Max ​​in .NET akzeptiert?

    
Anas Karkoukli 30.09.2011 16:47
quelle

Tags und Links