今天想用MySQL查点东西,需求如下:
查一周时间内的每天上午9点到11点半和下午1点到3点的所有数据。
数据库表结构比较简单,就是Zabbix的默认数据库表结构,查一下历史数据表。
history_uint 表结构如下:
字段名 | 类型 | 备注 |
itemid |
bigint | 监控项id |
clock | int | epoch时间戳(unix时间戳),精确到秒 |
value | bigint | 监控项的值 |
ns | int | 纳秒 |
直接贴SQL吧,贴完再说思路:
SELECT
a.itemid, FROM_UNIXTIME(a.clock) a_time, a.value
FROM
history_uint a
WHERE
itemid=29176
AND
-- 时间段限制,一周或者任意时间段
-- DATE_SUB(now(),INTERVAL 7 DAY) <= FROM_UNIXTIME(a.clock)
a.clock BETWEEN UNIX_TIMESTAMP('2019-03-24 09:00:00