Count in Subselect

AlexD1979

Erfahrenes Mitglied
Hallo,
Ich möchte recht einfach eine Spalte anfügen in meinem Ergebnis, die einen Count eines Feldes enthält...

Code:
SELECT              (select count(p.project_id) group by p.project_id) as proj_count,
			p.project_id obj_id,
                        p.text_value,
                        ....
GEht das ?
Folgender Fehler :
Die p.project_id-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion enthalten und keine GROUP BY-Klausel vorhanden ist. 
 
Zuletzt bearbeitet:
Hallo,

packe in den Subselect noch "FROM tab" rein dann geht es.
Code:
SELECT a.*,
(SELECT COUNT(*) FROM tab AS b WHERE b.feld = a.feld) AS cnt
FROM tab AS a
WHERE ...

Viele Grüße
Robert
 
bloddy newbie hat gesagt.:
Hallo,

packe in den Subselect noch "FROM tab" rein dann geht es.
Code:
SELECT a.*,
(SELECT COUNT(*) FROM tab AS b WHERE b.feld = a.feld) AS cnt
FROM tab AS a
WHERE ...

Viele Grüße
Robert
Ups, Copy&Paste hat wieder die Hälfte verschluckt... natürlich gehört da noch ein FROM market_project_business rein.

Die Konstellation ist so, ich habe eine Abfrage die liefert mir folgende Datensätze
PROJECT ABTEIL NAME
1 1 test
1 2 test2
1 3 test3
2 1 TEST

Ich brauche nun einen Count, der der mir für Project dann zwei zurückgibt und das Ergebnis wie folgt aussieht

PROJECT ABTEIL NAME COUNT
1 1 test 2
1 2 test2 2
1 3 test3 2
2 1 TEST 2

Geht das ?
 
Ja das geht:

Code:
SELECT a.*,
(SELECT COUNT(DISTINCT(project_id)) FROM tab) AS cnt
FROM tab AS a
WHERE ...

COUNT(DISTINCT(project_id)) ermittelt dabei einen Count aller eindeutigen project_id´s

Viele Grüße
Robert
 

Neue Beiträge

Zurück