Rückgabe Mehrerer MAX Werte

L3kt3r

Benutzer
Beiträge
10
Guten Tag
Ausgangs Tabelle:
SP1 SP2 SP3
90 1 Müller
90 2 Meier
80 3 Heinrich
80 4 Bernd
80 5 Torsten
70 1 Schulze

ich benötige eine Select um aus SP2 immer den MAX-Wert der dazugehörigen SP1 wiederzubekommen

Ergebnis:
SP1 SP2 SP3
90 2 Meier
80 5 Torsten
70 1 Schulze

Vielen Dank im voraus.
Mit freundlichen Grüßen L3KT3R
 
Werbung:
ich benötige eine Select um aus SP2 immer den MAX-Wert der dazugehörigen SP1 wiederzubekommen

Mit freundlichen Grüßen L3KT3R


Code:
test=*# select sp1, sp2, sp3 from lekter where (sp1, sp2) in (select sp1, max(sp2) from lekter group by sp1);
 sp1 | sp2 |  sp3
-----+-----+---------
  90 |  2 | meier
  80 |  5 | torsten
  70 |  1 | schulze
(3 rows)
 
Hallo akretschmer

vielen Dank für die schnelle Antwort
habe die Select getestet leider mit dem Ergebnis eines Fehlers in der where
"In der Nähe von ',' wurde ein nicht boolescher Ausdruck in einem Kontext angegeben, in dem eine Bedingung erwartet wird."
 
Hallo akretschmer

vielen Dank für die schnelle Antwort
habe die Select getestet leider mit dem Ergebnis eines Fehlers in der where
"In der Nähe von ',' wurde ein nicht boolescher Ausdruck in einem Kontext angegeben, in dem eine Bedingung erwartet wird."

Ach ja, irgendwas war da, M$SQL kann da nicht mit 2 Spalten oder so umgehen. Nun denn, es kann ja row_number(), vergewaltigen wir halt das:

Code:
test=*# select sp1, sp2, sp3 from (select *, row_number() over (partition by sp1 order by sp2 desc) from lekter) foo where row_number = 1 ;
 sp1 | sp2 |  sp3
-----+-----+---------
  70 |  1 | schulze
  80 |  5 | torsten
  90 |  2 | meier
(3 rows)

Andreas, PostgreSQL wie immer nutzend.
 
Werbung:
Zurück
Oben