我有一个数据库,其中包含来自 wifi 传感器的所有数据。每个移动设备都会 ping 一个“地址”,因此每个移动设备每天都会发送很多地址,我现在想要的是从每个地址查看它来了多少次,例如在四月、三月,所以我想从每个“地址”查看“一个月来多少次(别忘了,你不能只数它,因为你每天都会收到很多地址,我需要将每天的所有地址数为 1,而不是 10,例如,如果 4 月 14 日有 10 个地址) 。
我想要什么
Address | Times
---------------------
adf9edb6GK| 2 times
adf9edb2933| 4 times
qwertdb2933| 1 times
我尝试的是这样的:
select address, from_unixtime((sensordata1.time), '%Y-%m-%d') as datum, count(distinct floor(time) / (24*60*60)) as Aantal_keer_per_maand from sensordata1 Where (FROM_UnixTime((sensordata1.time), '%Y-%m-%d') BETWEEN #startDate# AND #endDate#) group by address,datum;
最佳答案
您正在寻找count(distinct)
:
select address,
count(distinct floor(time) / (24*60*60)) as numDays
from t
group by address;
关于mysql - 如何获取每月每天的地址数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43520053/