mysql 按日、周、月、年统计sql语句整理,实现报表统计可视化

– –按日

SELECT COUNT(*),DATE(CreateTime) FROM t_voipchannelrecord WHERE YEAR(CreateTime)='2016' GROUP BY DAY(CreateTime)

这里写图片描述

– –按周

SELECT COUNT(*),WEEK(CreateTime) FROM t_voipchannelrecord WHERE MONTH(CreateTime) = '8' GROUP BY WEEK(CreateTime)

–周一到周五每天的统计结果

SELECT COUNT(*),DAYNAME(CreateTime) FROM t_voipchannelrecord WHERE YEAR(CreateTime) = '2016' GROUP BY DAYNAME(CreateTime)

这里写图片描述

–统计本周数据

SELECT COUNT(*) FROM t_voipchannelrecord WHERE MONTH(CreateTime) = MONTH(CURDATE()) AND WEEK(CreateTime) = WEEK(CURDATE())

–按月统计

SELECT COUNT(*),MONTH(CreateTime) FROM t_voipchannelrecord WHERE YEAR(CreateTime) = '2016' GROUP BY MONTH(CreateTime)

这里写图片描述

–统计本月数据

SELECT COUNT(*) FROM t_voipchannelrecord WHERE MONTH(CreateTime) = MONTH(CURDATE()) AND YEAR(CreateTime) = YEAR(CURDATE())

–按季统计

SELECT COUNT(*),QUARTER(CreateTime) FROM t_voipchannelrecord WHERE YEAR(CreateTime) = '2016' GROUP BY QUARTER(CreateTime)

–按年统计

SELECT COUNT(*),YEAR(CreateTime) FROM t_voipchannelrecord GROUP BY YEAR(CreateTime)

–时间段(该段参考:出处)

N天内记录 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段) <= N 
当天的记录 where date(时间字段)=date(now()) 或 where to_days(时间字段) = to_days(now()); 
查询一周: select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time); 
查询一个月: select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <= date(column_time); 
查询'06-03'到'07-08'这个时间段内所有过生日的会员: Select * From user Where DATE_FORMAT(birthday,'%m-%d') >= '06-03' and DATE_FORMAT(birthday,'%m-%d') <= '07-08'; 
统计一季度数据,表时间字段为:savetime group by concat(date_format(savetime, '%Y '),FLOOR((date_format(savetime, '%m ')+2)/3)) 或 select YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1,count(*) from yourTable group by YEAR(savetime)*10+((MONTH(savetime)-1) DIV 3) +1;

参考链接:http://blog.csdn.net/u010543785/article/details/52354957

来源:http://blog.sina.com.cn/s/blog_13e4b87b80102x528.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值