解决sql查询时间缺失
来源:互联网 发布:经传多盈软件 编辑:程序博客网 时间:2024/06/06 03:58
最近在做关于监控的项目,其中关于按照一定时间(小时,天、周)实时统计并显示默写特定值的数据量。通过sql语句查询出现以下问题:
例子:(由于自己的表结构比较复杂,此处例子应用网上)
例子中的数据结构和数据:
一般使用如下查询语句:
SELECT date(downtime) AS dday, count(*) AS num FROM re_device GROUP BY dday
得到的结果是,如果那天没有数据,就没有那天的记录,有时我们希望没有数据的那天也有记录,只是数值为0.
希望结果:
如何解决:
如果按照天统计数据量,如上面的例子,读者可以查看一下博客http://blog.csdn.net/jie11447416/article/details/50887888
我的需求是按照小时来统计数据量,希望得到的统计结果:
解决办法:
1、建立一张24小时的表
CREATE TABLE num_minute (i int);
delimiter //drop procedure if exists wk; create procedure wk()begin declare num int;set num = 1;while num < 1440 do insert into num_minute values (num);set num = num +1;end while;end //call wk();
基于以上表,创建24小时表CREATE TABLE if not exists calendar_hour(datelist varchar(10)); INSERT INTO calendar_hour(datelist) SELECT DATE_FORMAT( adddate( "2017-01-01 00:00", INTERVAL 1 MINUTE ),'%H:%i') AS `date`FROM ( SELECT n1.i AS id FROM num_minute n1 ) AS numlist;
2、联合查询
select time_hour_minute, COUNT(*) - 1 AS 'count' from ( select DATE_FORMAT(from_unixtime(floor(UNIX_TIMESTAMP(ts)/60)*60),'%H:%i') as time_hour_minute from zookeeper where DATE_SUB(NOW(), INTERVAL 1 hour) <= ts&&ts<=NOW() and typeDescription like '%FIN%' UNION ALL SELECT datelist FROM calendar_hour where TIME_TO_SEC(DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 hour),'%H:%i'))<TIME_TO_SEC(datelist)&&TIME_TO_SEC(datelist)<=TIME_TO_SEC(CURTIME()) ) agroup by time_hour_minute;
统计最近一小时内,每分钟typeDescription为FIN的数据量,并且按照时间排序。
关于sql时间相关的操作查看:http://blog.csdn.net/yuebao1991/article/details/73113381
有什么问题可以留言,大家相互学习。
阅读全文
0 0
- 解决sql查询时间缺失
- SQL时间查询
- sql between 时间查询
- sql查询格式化时间
- sql 查询时间
- oracle sql 时间查询
- sql时间查询
- sql时间查询
- sql关于时间查询
- sql 时间查询
- sql 时间短查询
- 查询时间SQL
- sql时间查询问题
- sql时间查询相关
- SQL查询时间
- sql时间查询
- SQL 时间条件查询
- oracle sql 时间查询
- Leetcode 147. Insertion Sort List
- putty提示Network error:Software caused connection abort解决方法
- Django settings.py配置文件
- android gradle tools 3.X 中依赖,implement、api 指令
- ssh-port-redirect-in-linux-system
- 解决sql查询时间缺失
- centos 如何关闭防火墙?
- 函数
- js中数组的基本操作
- Spirng+redis 2、实现RedisConfiguration
- 通过commons-fileupload实现文件上传
- SSO单点登录初探
- 技术方向的选择
- android5.1 增加ethernet设置(DHCP与Static ip)