Komplexe Abfrage mit "count"

Odido

Neuer Benutzer
Beiträge
3
Hallo zusammen,

folgendes Problem:
in einer Tabelle gibt es die Spalten id, tour und anschrift.
1 1 Anschrift 1
2 2 Anschrift 2
3 3 Anschrift 3
4 1 Anschrift 4
5 1 Anschrift 5
6 2 Anschrift 6

Jetzt brauche ich eine Abfrage, die mir nicht nur diese drei Werte ausgibt, sondern in einer vierten Spalte zusätzlich den Wert, wie oft der Wert tour=x vorhanden ist.

Also:
1 1 Anschrift 1 3 (weil Tour 1 3x vorkommt)
2 2 Anschrift 2 2 (weil Tour 2 2x vorkommt)
3 3 Anschrift 3 1 (weil Tour 3 1x vorkommt)
4 1 Anschrift 4 3
5 1 Anschrift 5 3
6 2 Anschrift 6 2

Kann mir da bitte jemand auf die Sprünge helfen - ich komm nicht drauf?

Danke und liebe Grüße
Oliver
 
Werbung:
das müsste die 5.6.16 sein.

Sollte aber eine Lösung sein, die auf möglichst vielen verschiedenen Versionen lauffähig ist - Danke.
 
Zuletzt bearbeitet:
Werbung:
Eigeninitiative?

Code:
test=*# select * from odido ;
 id | tour | anschrift
----+------+-----------
  1 |    1 | a1
  2 |    2 | a2
  3 |    3 | a3
  4 |    1 | a4
  5 |    1 | a5
  6 |    2 | a6
(6 Zeilen)

test=*# select o.*, t.count from odido o left join (select tour, count(*) from odido group by tour) t on o.tour=t.tour;
 id | tour | anschrift | count
----+------+-----------+-------
  1 |    1 | a1        |     3
  2 |    2 | a2        |     2
  3 |    3 | a3        |     1
  4 |    1 | a4        |     3
  5 |    1 | a5        |     3
  6 |    2 | a6        |     2
(6 Zeilen)

test=*#
 
Zurück
Oben