Data innehåller alla användare som är anslutna till en AP vid en viss tidpunkt.
Timestamp löper med 5 minuters mellanrum. Nu skulle jag vilja ha ut antalet anslutna användare till en given AP med ett tidsintervall på t.ex. 24h.
SELECT timestamp, count( user ) , AP
FROM wlanlog
WHERE AP = "000B851759A0"
GROUP BY timestamp, AP
Ovan ger antalet anslutna användare till AP:n för varje fem minuters intervall men hur får jag ut samma information men för ett godtyckligt intervall?
SELECT t, ap, count( * )
FROM (
SELECT timestamp /3600 AS t, AP
FROM wlanlog
WHERE AP = '000B851759A0'
)dt
GROUP BY t, AP
ger samma resultat som
SELECT t, ap, count( * )
FROM (
SELECT timestamp /300 AS t, AP
FROM wlanlog
WHERE AP = '000B851759A0'
)dt
GROUP BY t, AP
redigering/ Det beror väl isåfall på att det är samma användare anslutna? Inga ytterliggare användare mellan tidsintervallen.
Behöver man ta hänsyn till detta annars? Den ska ju inte räkna samma användare flera gånger inom tidsintervallet.
Om jag väljer tidsintervallet en månad (2592000 sekunder) så bör jag få ~ 7 rader eftersom det är så långt som datat sträcker sig. Men med sökningen får jag ut 455 rader...
Hur kommer det sig?