Also ich wollte eine Übersicht für ein Forum erstellen.
Hatte nach langen Knobeln auch eine Lösung gefunden, aber zur Sicherheit wollte ich diese Lösung zeigen.
Ich wollte eigendlich sowas abfragen:
Das scheiterte aber bei der Anzeige der Gesamtanzahl der Threads.
Mach ich hingegen:
Klappt es. Aber würden 2 Threads den gleichen Namen haben, würde da ja ein Fehler auftretten.
Warum geht das einfache count(id) nicht bei dieser Abfrage?
Er liefert mir mit count(id) die Anzahl 418 obwohl es nur 10 sind.
Hatte nach langen Knobeln auch eine Lösung gefunden, aber zur Sicherheit wollte ich diese Lösung zeigen.
Ich wollte eigendlich sowas abfragen:
PHP-Code:
$sql = "SELECT
".FOREN.".id,
".FOREN.".name,
MAX(".ANSWERS.".created) AS last_datum,
count(".THREADS.".id) AS thread_anzahl
FROM ".FOREN."
LEFT JOIN ".ANSWERS." ON (".FOREN.".id = ".ANSWERS.".fid)
LEFT JOIN ".THREADS." ON (".FOREN.".id = ".THREADS.".fid)
WHERE
".FOREN.".gid=".$gruppe."
GROUP BY
".FOREN.".id
ORDER BY last_datum DESC";
Mach ich hingegen:
PHP-Code:
$sql = "SELECT
".FOREN.".id,
".FOREN.".name,
MAX(".ANSWERS.".created) AS last_datum,
count(distinct(".THREADS.".topic)) AS thread_anzahl
FROM ".FOREN."
LEFT JOIN ".ANSWERS." ON (".FOREN.".id = ".ANSWERS.".fid)
LEFT JOIN ".THREADS." ON (".FOREN.".id = ".THREADS.".fid)
WHERE
".FOREN.".gid=".$gruppe."
GROUP BY
".FOREN.".id
ORDER BY last_datum DESC";
Warum geht das einfache count(id) nicht bei dieser Abfrage?
Er liefert mir mit count(id) die Anzahl 418 obwohl es nur 10 sind.