mysql - 如何获取每月每天的地址数量

标签 mysql sql count timestamp datediff

我有一个数据库,其中包含来自 wifi 传感器的所有数据。每个移动设备都会 ping 一个“地址”,因此每个移动设备每天都会发送很多地址,我现在想要的是从每个地址查看它来了多少次,例如在四月、三月,所以我想从每个“地址”查看“一个月来多少次(别忘了,你不能只数它,因为你每天都会收到很多地址,我需要将每天的所有地址数为 1,而不是 10,例如,如果 4 月 14 日有 10 个地址) 。

Database I use

我想要什么

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/

相关文章:

php - SQL查询按类别查找两个联合表的最大值

mysql - SQL 电源架构师

sql - 从日期时间开始的TSQL剥离日期

mysql - 如何在MySQL中合并具有相似名称的多个表

mysql - 选择与同一表中的另一个字段对应的每个不同字段

mysql - 通过 Combobox 和 SQL 数据库表填充文本框

php - UTF-8贯穿始终

c# - 使用窗口窗体中的按钮从列表框中删除所选项目

.net - 在包含计数的子查询上使用左连接的 Linq

php - 完全奇怪的简单 php 执行 -(谁能解释一下[我花了 4 个小时才找到])