Hey leute,
habe im moment folgende Aufgabe zu bearbeiten.Es geht darum eine abfrage zu machen:
abfragen “aus welcher stadt die meisten kunden kommen” Abrage bilden welche stadt wieviele teilnehmer hat…
ich habe das erstmal so gemacht
select ort, count(ort) as "anzahl"
from kunden
group by ort
order by count(ort) DESC
limit 2;
nun gibt es aber noch die andere möglichkeit anstatt den limit befhel eine unterabfrage zu machen…
weiß jmd wie ich das machen könnte ??
ja schon,
aber wie gesagt müsste mit einer unterabfrage auch gehen, werden dann halt ein par mehr zeilen…
weil mit dem limit bin ich nicht ganz zufrieden da es den rest ja nur ausblendet
würd gerne wissen wie ich das eben mit einer unterabfrage schreibe…
test=*# select * from kunden ;
ort
---------
dresden
berlin
bonn
dresden
dresden
berlin
(6 rows)
test=*# select ort, anzahl from (select ort, anzahl, row_number() over (order by anzahl desc) from (select ort, count(ort) as anzahl from kunden group by ort order by anzahl desc) foo) bla1 right join (select 1 as i union select 2) bla2 on bla1.row_number=bla2.i;
ort | anzahl
---------+--------
dresden | 3
berlin | 2
(2 rows)