我有一个wifi传感器扫描附近的所有地址现在我想知道每个月有多少新人走进来。所以得到了地址,但代码需要看到它已经出现过一次或多次的新地址或地址。代码需要告诉我有多少新人走进来。
Select FROM_UnixTime((sensordata1.time + 7200), '%Y-%c') "Datum (Descending)",
COUNT(DISTINCT address) "Bezoekers"
FROM sensordata1
WHERE (sensordata1.sensorid = 1908)
GROUP BY 1
ORDER BY FROM_UnixTime((sensordata1.time + 7200), '%Y-%c') DESC
此代码是为了查看本月有多少人进出。我想知道有多少新地址(所以地址不在数据库中)。
答案 0 :(得分:0)
我会使用两个级别的聚合来做到这一点:
select date_format(firstdt, '%Y-%m') as yyyymm, count(*) as firsttimers
from (select sd.address, from_unixtime(min(sd.time)) as firstdt
from sensordata sd
group by sd.address
) a
group by date_format(firstdt, '%Y-%m')
order by yyyymm;