Inner Join und count(*)
Tani
- datenbank
Hallo Forum, eine kleine Frage.
phpmyAdmin meckert bei dem count in folgender Query:
SELECT B.id, B.username AS 'Nickname', B.geschlecht AS 'Geschlecht', B.age, B.isonline, count(*) AS 'Kommentare' from präfix_tabelle2 AS A INNER JOIN präfix_tabelle2 AS B ON A.username=B.username ORDER BY Kommentare desc LIMIT 50;
Hab da schon allerlei Sachen ausprobiert:
A.count
count(A.*)
count('A.*)
was mache ich falsch?
Viele Grüße
Ich glaube zwar das sowas generell nicht funktioniert, aber versuch es mal mit A.count(*) << hast du noch nicht aufgelistet.
Ansosnten musst du das eben in zwei verschiedene Abfragen stecken.
Gruß Artis
Hallo, danke habe ich gerade auch probiert. Tut sich leider nichts.
Ich habe mal die ganzen B's rausgenommen. Sprich, B.id, B.geschlecht usw. Er markiert das "count" zwar noch rot, aber gibt eine Spalte kommentare aus. Er hat dann halt die Summe der Zeilen dort reingeschrieben.
Grüße
yo,
die GROUP BY KLausel fehlt.
SELECT B.id, B.username AS Nickname, B.geschlecht AS Geschlecht, B.age, B.isonline, count(*) AS Kommentare
FROM präfix_tabelle2 AS A
INNER JOIN präfix_tabelle2 AS B ON A.username=B.username
GROUP BY B.id, B.username AS Nickname, B.geschlecht AS Geschlecht, B.age, B.isonline
ORDER BY Kommentare desc LIMIT 50;
Ilja
upps,
das blöde copy & paste, GROUP BY klausel muss so auussehen:
GROUP BY B.id, B.username , B.geschlecht, B.age, B.isonline
eventuell will mysql die aliasnamen, bin mir da nicht sicher.
Ilja
Hey Ilja, danke es tut. Er markiert zwar das count(*) rot, aber die ausgabe passt. vielen dank nochmals :)
da wäre ich nie und nimmer draufgekommen.
grüße
Hallo Ilja, müsste jetzt nocheinmal kurz stören. Kann ich in der Query noch problemlos um ein WHERE erweitern
WHERE allowtoplist=1
Das wäre dann in der Tabelle1. ??
Grüße
yo,
Kann ich in der Query noch problemlos um ein WHERE erweitern
WHERE allowtoplist=1
grunsätzlich kannst du immer die where klausel verwenden. damit selektierst du eben bestimmte datensätze aus der entsprechenden tabelle. das group by und der count werden erst danach ausgeführt.
Ilja
Danke, es funktioniert auch prima.
Vielen Dank für die Zeit die du extra für mich genommen hast :)
Wenn du ein SQL Checker bist, dann hätte ich noch mehr fragen. Erst probiere ich mal, ob ich es hinkriege und schlage in der Doku nach, wenn nicht starte ich ein neues Thema :)
Also viele Grüße aus Stuttgart :)
Tani
yo,
Erst probiere ich mal, ob ich es hinkriege und schlage in der Doku nach, wenn nicht starte ich ein neues Thema :)
besser du fragst hier im gleichen beitrag, sonst gibt es wieder ärger mit einigen ganz genauen.....
Ilja