Goedenmiddag,
Ik zit met een query probleempje, en ben benieuwd of het met de huidige data is op te lossen.
Probleem:
Ik heb een tabel met daarin pageview logs, iedere pageview is een record. Dit wil ik omzetten in iedere dag een record. Met pageviews gaat dit goed, maar bij totaal bezoekers kom ik er niet aan uit.
gegevens:
tijdstip (smalldatetime)
bezoekerID (int, linkt naar een andere tabel met daarin gegevens over browser enzo)
paginaID (int)
Maar wat is het nu, als een bezoeker net voor 0:00 de site bezoekt, en nog een keer erna, dan is er dus bij datum X een distinct id, maar ook voor datum Y is het een distinct id, hij wordt dus dubbel geteld.
Is er een mogelijkheid om unieke waarden te tellen, maar dan over alle records gezien, maar wel gewoon group by datum kunnen doen?
bedankt
Ik zit met een query probleempje, en ben benieuwd of het met de huidige data is op te lossen.
Probleem:
Ik heb een tabel met daarin pageview logs, iedere pageview is een record. Dit wil ik omzetten in iedere dag een record. Met pageviews gaat dit goed, maar bij totaal bezoekers kom ik er niet aan uit.
gegevens:
tijdstip (smalldatetime)
bezoekerID (int, linkt naar een andere tabel met daarin gegevens over browser enzo)
paginaID (int)
SQL:
1
2
3
4
| select cast(convert(varchar(20), datum, 105) as datetime), count(distinct bezoekerID) as bezoekers, count(*) as pageviews from log group by cast(convert(varchar(20), datum, 105) as datetime) |
Maar wat is het nu, als een bezoeker net voor 0:00 de site bezoekt, en nog een keer erna, dan is er dus bij datum X een distinct id, maar ook voor datum Y is het een distinct id, hij wordt dus dubbel geteld.
Is er een mogelijkheid om unieke waarden te tellen, maar dan over alle records gezien, maar wel gewoon group by datum kunnen doen?
bedankt