Seite 1 von 1

Frage zu SELECT COUNT(*) in Subquery

Verfasst: 19.04.2012, 09:31
von xoni
Hallo @ All,

Bin jetzt schon ein ganze Weile am
Probieren und mit meinem Wissen am Ende.

Code: Alles auswählen

SELECT *, o.customer_id

(SELECT COUNT(*) AS total FROM `order` o WHERE o.customer_id = o.customer_id)

FROM `order` o
Ich möchte u.a. mit einem Query (Code gekürzt)
die Anzahl der Ergebnisse (total) ermitteln.

Frage daher:
Wie muß der Query lauten, damit auch
der Subquery (Zeile 2) korrekt ausgeführt wird?

Bin für jeden Tipp dankbar..

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 19.04.2012, 14:20
von rayman
warum hast du 2 mal 'o' deffiniert?
der subquery table sollte anders sein, bsp X:

SELECT *, o.customer_id
(SELECT COUNT(*) AS total FROM `order` X WHERE X.customer_id = o.customer_id)
FROM `order` o

und was genau funktoniert bei dir nicht?

also bei mir funktionierts so:

Code: Alles auswählen

SELECT *, column1, 
  (select count(*) Column 
FROM TableName as  C
where C.Column = A.Column)
  FROM TableName as A

Verfasst: 19.04.2012, 16:32
von gatekeeper
Ich vermute, du möchtest die Anzahl an Bestellungen aufgeschlüsselt nach Kunde wissen (Kunde A hat 3x bestellt, Kunde B 1x)

SELECT customer_id, count(*) FROM order GROUP BY customer_id

[erledigt] Frage zu SELECT COUNT(*) in Subquery

Verfasst: 20.04.2012, 08:18
von xoni
Hallo @ rayman

Ja genau das war mein Problem.
Ich hatte übersehen, für den Subselect einen anderen Alias
zu verwenden. Danke Euch beiden für Eure Tipps.