Join datums in COUNT(datum) as bezoekers

Status
Niet open voor verdere reacties.

robenlaan

Gebruiker
Lid geworden
10 jul 2013
Berichten
5
Hallo Allemaal,

Het is al weer even terug na mijn laatste post.
Dit is mijn vraag. Ik heb een simpel analytics scriptje gemaakt welke de bezoekers telt.
Nu wil ik over een periode van 30 dagen de bezoekers uitrekenen. Dit is wat ik heb:

Tables:
analytics(id, datum, tijd, browser, ip referer)
analytics_dates(dag) met elke datum van de jaren 2014 t/m 2030.

De eerste query:
[SQL]SELECT datum, COUNT(datum) AS bezoekers FROM analytics WHERE datum > '2015-08-01' AND datum < '2015-09-01' GROUP BY datum[/SQL]

Nu krijg ik hier keurig een lijstje met bezoekers uit, met 1 probleem: de dagen dat er geen bezoekers waren, worden weggelaten.
Nu is mijn plan om de table analytics_dates te joinen, zodat deze data wel worden meegenomen.

Na heel veel googlen kom ik er nog steeds niet uit.... HELP!

Mvg. Roben.
 
Wat is het probleem? je kunt een join doen en een basis waarde van '0' gebruiken? is het probleem de gezamelijke tabel of de werkelijke uitkomst?
 
Na nog 3 uur zoeken, ben ik uiteindelijk op een antwoord gekomen die voor mij werkt. Je kunt gebruik maken van een LEFT JOIN.
Ik heb geen link gevonden met het exacte antwoord, maar ben gewoon zelf het één en ander gaan proberen.

Na veel vallen en opstaan is dit mijn uiteindelijke query:

[SQL]SELECT d.datum as datum, COUNT(a.datum) as bezoekers
FROM analytics_dates d
LEFT JOIN analytics a ON d.datum = a.datum
WHERE d.datum > '2015-08-01' AND d.datum <= '2015-08-31'
GROUP BY d.datum[/SQL]
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan