【问题标题】:Count how many entries are in a database at 5 minute intervals每隔 5 分钟计算一次数据库中有多少条目
【发布时间】:2016-01-29 23:42:19
【问题描述】:

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

我从多个表中创建了一个看起来像这样的视图。

+----------+--------------+------+-----+---------+-------+
| 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 |
+---------------------+----------+----------+

【问题讨论】:

标签: mysql sql relational-database


【解决方案1】:
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

【讨论】:

    猜你喜欢
    • 2019-05-02
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    相关资源
    最近更新 更多