zoukankan      html  css  js  c++  java
  • mysql按日/周/月统计

    一、mysql按日统计

    select DATE_FORMAT(start_time,'%Y%m%d') days,count(1) count from callRecord where direction='0' and start_time > '2017-06-28' group by days;

    二、mysql按周统计

    select DATE_FORMAT(start_time,'%Y%u') weeks,count(1) from callRecord where direction='0' group by weeks;

    三、mysql按月统计

    select DATE_FORMAT(start_time,'%Y%m') months,count(1) from callRecord where direction='0' group by months;

    四、方便的场景

    这对于数据量不大的表非常有效。

    如:按月统计某员工的迟到情况啦等等。

    五、大量的数据

    例如每天产生20W数据,执行这个按天统计一年是很夸张的事情。

    我能想到的办法就是:

    【分时统计】

    1. 历史数据是不变的

    2. 指定时段指定条件的统计结果是相同的

    3. 先用定时任务在相对空闲的时段按照一定的细粒度执行后台统计,然后将结果放到单独的统计表里

    4. 然后业务根据需要再去统计表中做查询

    5. 有没有更好的办法分享一下?

  • 相关阅读:
    RabbitMQ一:消息队列的认识
    RabbitMQ二:AMQP协议
    SVN中如何去除版本控制器
    Asp.net:MVC认识
    时间连接查询展示
    C#string类型总结
    JavaScript01天学习笔记分享
    UML中的类图及类图之间的关系
    23 种设计模式的分类和功能
    WCF入门
  • 原文地址:https://www.cnblogs.com/yoyotl/p/7270479.html
Copyright © 2011-2022 走看看