gpt4 book ai didi

mysql - 每隔 5 分钟计算一次数据库中有多少条目

转载 作者:行者123 更新时间:2023-11-29 03:26:41 30 4
gpt4 key购买 nike

我有多个 Raspberry Pi 从移动设备收集 wifi 信标并将它们保存在 mySQL 数据库中。我在数据库中创建了一个 View 。数据库中的每个条目都有移动设备 mac 地址、pi id、rssi、位置和时间戳

我从多个表中创建了一个 View ,如下所示。

+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| pi_id | varchar(64) | NO | | NULL | |
| name | varchar(127) | NO | | NULL | |
| location | varchar(255) | NO | | NULL | |
| mac_id | varchar(200) | NO | | NULL | |
| rssi | int(11) | NO | | NULL | |
| datetime | datetime | NO | | NULL | |
+----------+--------------+------+-----+---------+-------+

对于每个 Pi/位置,我想计算在每 5 分钟间隔内看到了多少数据包/信标。我一直在尝试这样的事情。

SELECT datetime , location, count(*) 
FROM packet_locations
GROUP BY DATE(DATE_SUB(datetime, INTERVAL 5 MINUTE)), location;

我想要这样的输出:

+---------------------+----------+----------+
| datetime | location | count(*) |
+---------------------+----------+----------+
| 2016-01-26 00:00:00 | Pi1 | 44 |
| 2016-01-26 00:00:00 | Pi2 | 66 |
| 2016-01-26 00:05:00 | Pi1 | 100 |
| 2016-01-26 00:05:00 | Pi2 | 101 |
| 2016-01-26 00:10:00 | Pi1 | 128 |
| 2016-01-26 00:10:00 | Pi2 | 128 |
+---------------------+----------+----------+

最佳答案

SELECT concat( date_format(datetime,'%Y-%m-%d %k:')
, lpad(floor(minute(datetime)/5)*5,2,'0')
, ':00'
) datetime
, location
, count(1)
FROM packet_locations
GROUP BY date(datetime)
, hour(datetime)
, floor(minute(datetime)/5)
, location

关于mysql - 每隔 5 分钟计算一次数据库中有多少条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35096096/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com