Summe der Einträge eines Users in mehreren Tabellen ermitteln

tupwebma

Grünschnabel
Hallo zusammen!

Ich habe folgendes Problem und hoffe Ihr könnt mir dabei helfen

Es geht darum, dass ich aus zwei Tabellen, forum_beitraege und news_kommentare, die Summe der Einträge für einen User ermitteln, zudem soll gleichzeitig nach dieser Summe sortiert werden, also welcher User die meisten Einträge in beiden Tabellen zusammen hat.

Meine Überlegungen sehen bis jetzt so aus:
ich weiss auch nicht ob das mit dem "+" überhaupt so geht,
jedenfalls hoffe ich das man erahnen kann wie ich das meine

SELECT
user.username,sum(count(forum_beitraege.username)+count(news_kommentare.username)) as anzahl
FROM
user,forum_beitraege,news_kommentare
WHERE forum_beitraege.username = user.username
AND news_kommentare.username = user.username
GROUP BY username
ORDER BY anzahl DESC

hab, ne weile mit phpmyadmin rumprobiert aber es kam immer fehler "invalid use of group function"
 
hab mal in der Hilfe vom SQL-Server gesucht und hab da folgendes gefunden:
Syntax
[ GROUP BY [ALL] group_by_expression [,...n]
[ WITH { CUBE | ROLLUP } ]
]

Argumente
ALL

Bezieht alle Gruppen und Resultsets ein, auch solche, die keine Zeilen enthalten, welche die in der WHERE-Klausel angegebenen Bedingungen erfüllen. Wenn ALL angegeben wird, werden NULL-Werte für die Summenspalten der Gruppen zurückgegeben, die die Suchbedingung nicht erfüllen. ALL kann nicht mit den Operatoren CUBE oder ROLLUP angegeben werden.

GROUP BY ALL wird für Abfragen nicht unterstützt, die auf Remotetabellen zugreifen und eine WHERE-Klausel enthalten.

group_by_expression

Dies ist ein Ausdruck, nach dem die Gruppierung durchgeführt wird. group_by_expression wird auch als Gruppierungsspalte bezeichnet. group_by expression kann eine Spalte oder ein Nichtaggregatausdruck sein, der auf eine Spalte verweist. Ein in der Auswahlliste definierter Spaltenalias kann nicht zum Angeben einer Gruppierungsspalte verwendet werden.


Anmerkung Spalten vom Typ text, ntext und image können nicht in group_by_expression verwendet werden.


Bei GROUP BY-Klauseln, die weder CUBE noch ROLLUP enthalten, ist die Anzahl der group_by_expression-Elemente durch die GROUP BY-Spaltengrößen, die Aggregatspalten und die Aggregatwerte der Abfrage beschränkt. Diese Beschränkung ergibt sich aus der maximalen Größe von 8.060 Byte der temporären Arbeitstabelle, die für die zwischenzeitlich erstellten Abfrageergebnisse benötigt wird. Bei Angabe von CUBE oder ROLLUP sind höchstens 10 Gruppierungsausdrücke zulässig.

Das rot-markierte könnte die Ursache für dein Problem sein
 
Ich habe es jetzt ohne den GROUP BY Befehl probiert, jedoch kommt immer noch der gleiche Fehler "invalid use of group function"
 
Zurück