wenn max

alexfrenzel92

SQL-Guru
Beiträge
122
Guten Abend,

Ich habe 5 Spalten (Wort - Zahl - Zahl2 - Zahl3 - Zahl4)

Wie lautet der Befehl, für die Auflistung aller fünf Spalten, wenn nur die Zeilen angezeigt werden sollen, bei denen Zahl3 die höchste aller 4 Zahlen ist?

Ich rede von der sql-Abfrage (SELECT *.......) - nicht vom php code

Danke im vorraus :)
 
Werbung:
Guten Abend,

Ich habe 5 Spalten (Wort - Zahl - Zahl2 - Zahl3 - Zahl4)

Wie lautet der Befehl, für die Auflistung aller fünf Spalten, wenn nur die Zeilen angezeigt werden sollen, bei denen Zahl3 die höchste aller 4 Zahlen ist?

Ich rede von der sql-Abfrage (SELECT *.......) - nicht vom php code

Danke im vorraus :)


Ich biete:

Code:
test=*# select * from alex ;
 id | z1 | z2 | z3 | z4
----+----+----+----+----
  1 |  2 |  3 |  4 |  5
  2 |  3 |  3 |  3 |  3
  3 |  5 |  4 |  3 |  2
(3 rows)

test=*# select id from alex where greatest(z1,z2,z3) < z4 ;
 id
----
  1
(1 row)

test=*# select id from alex where greatest(z1,z2,z3,z4) = z4 ;
 id
----
  1
  2
(2 rows)
 
greatest() gibt es bei MSSQL nicht. Natürlich läßt es sich umsetzen aber da empfehle ich lieber die klassische Variante von Honey%.

Ahh okay. Nunja, ist halt weniger schön lesbar.

Code:
select id from alex where greatest(z1,z2,z3,z4) = z4
Wäre ja auch nicht zwingend richtig denn wenn z3 = z4 ist z4 nicht die alleinige, höchste Zahl.

Ja, ich nannte auch 2 Varianten, weil nicht so ganz eindeutig klar war, was gesucht wurde.
 
Werbung:
Zurück
Oben