Hi,
nach COUNT(b.NewsId) möchtest du nicht gruppieren. Denn COUNT(*) ist bereits eine Aggregatfunktion, deren Ausgabewert du verwenden möchtest.
Das GROUP BY A.thema, A.hits, A.kommentare, B.kommentar, B.userid, C.username
bewirkt, das COUNT(...) dann alle Vorkommen in der Ergebnismenge zählt bei denen A.thema, A.hits, A.kommentare, B.kommentar, B.userid identisch sind.
Das würde aber bei dir wohl immer 1 ergeben (weil du offensichlich den Kommentar ansich auch mit ausgibst.
Vielleicht möchtest du einfach eine korrellierende Unterabfrage verwenden, keine Ahnung ob dieses MySQL schon so etwas kann:
SELECT
outer.feldA,
outer.feldB,
outer.feldC,
(SELECT COUNT(*)
FROM tabelle1 AS inner
WHERE inner.feldA = outer.feldA
AND inner.feldB = outer.feldB) AS CountOverAB
FROM tabelle1 AS outer
Probier's aus undso!
Ciao, Frank