实用mysql统计函数

【按固定周期统计】

先看一条完整的sql语句:

select date_format(date_add(startDate, interval 8 hour), '%u') as period, count(1) as total from table1 group by period;

 解释:

date_add 时间增加,例如startDate字段时区差异为8小时,则可以使用date_add(startDate, interval 8 hour)在统计时增加8小时。

date_format 将时间转换成字符串,在按固定周期(如天、周、月等)进行统计时十分有用。用法为date_format(startDate, '%u')。第一个参数是日期/时间表达式,第二个参数是格式化字符,常用的有:

  • %Y-%m-%d为年月日,例如2014-09-28;
  • %u为周,周一为一周的开始日期,例如;
  • %U也是周,周日为一周的开始日期;
  • %m为月

【按时间差统计】

测试SQL语句:select timestampdiff(hour, '2014-09-29 16:00:00', '2014-09-29 18:00:00');

得到的结果是2

timestampdiff(interval,datetime_expr1,datetime_expr2) 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:

  • FRAC_SECOND 表示间隔是毫秒
  • SECOND 秒
  • MINUTE 分钟
  • HOUR 小时
  • DAY 天
  • WEEK 星期
  • MONTH 月
  • QUARTER 季度
  • YEAR 年

round(表达式, 精度) 返回将参数四舍五入,精度指小数点后面保留的位数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值