Ich habe eine Themengalerie. Im Dashboard muss ich die am meisten angesehenen Themen nach Datum anzeigen (heute, die letzten 7 Tage, die letzten 30 Tage, alle Zeiten).
Dies sind die 2 beteiligten Tabellen:
- Thema
- id_theme
- Titel
- Ansichten
- id_ansicht
- id_theme
- Datum
El $Zeitstempel Werte werden mit mktime() berechnet (kein Problem darin).
Dies ist meine aktuelle SQL-Abfrage:
SELECT t.id_theme,t.title,
(SELECT COUNT(*)
FROM views
WHERE views.id_theme=t.id_theme
AND views.date BETWEEN '.$timestamp1.' AND '.$timestamp2.')
AS q
FROM theme AS t
INNER JOIN views ON t.id_theme = views.id_theme
GROUP BY views.id_theme
ORDER BY q
DESC LIMIT 10
Das Problem ist, dass der Haken ist, dass er manchmal Themen mit 0 Ansichten erhält, und das sollte nicht passieren. Ich habe versucht, den INNER JOIN durch RIGHT JOIN zu ersetzen, ohne Ergebnis. Irgendwelche Ideen?