• mysql 按年度、季度、月度、周、日SQL统计查询


     该死的mysql没有提供unix时间戳的专门处理函数,所以,如果遇到时间分组,而你用的又是整型unix时间戳,则只有转化为mysql的其他日期类型!
       FROM_UNIXTIM()将unix时间戳转为datetime等日期型!

    一、年度查询
    查询 本年度的数据
    SELECT *
    FROM blog_article
    WHERE year( FROM_UNIXTIME( BlogCreateTime ) ) = year( curdate( ))


    二、查询季度数据
    查询数据附带季度数
    SELECT ArticleId, quarter( FROM_UNIXTIME( `BlogCreateTime` ) ) 
    FROM `blog_article`
    其他的同前面部分:
    查询 本季度的数据
    SELECT *
    FROM blog_article
    WHERE quarter( FROM_UNIXTIME( BlogCreateTime ) ) = quarter( curdate( ))



    三、查询月度数据
    本月统计(MySQL)
    select * from booking where month(booking_time) =

    month(curdate()) and year(booking_time) = year(curdate())

    本周统计(MySQL)

    select * from spf_booking where month(booking_time) =

    month(curdate()) and week(booking_time) = week(curdate())


    四、时间段

    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;

    五、分组查询
         
       1、年度分组

       2、月度分组

       3、先按年度分组,再按月度分组

       4、按年月分组
       SELECT count(ArticleId), date_format(FROM_UNIXTIME( `BlogCreateTime`),'%y%m') sdate  FROM `blog_article` group by sdate

       结果:
        count( ArticleId )     sdate
    17     0901
    11     0902
    5     0903
    6     0904
    2     0905
    1     0907
    12     0908
    6     0909
    11     0910
    3     0911
          7k7k小游戏 flash动画

  • 相关阅读:
    日期时间工具(dayjs)的使用
    Apache JMeter下载使用
    webpack 干货总结
    常见设计模式——模板方法
    常见设计模式——代理模式
    Codeforces Round #340 (Div. 2)E
    HDU 4547
    HDU 2586
    LCA算法的介绍与模板
    1073. 负二进制数相加
  • 原文地址:https://www.cnblogs.com/smallmuda/p/1875549.html
Copyright © 2020-2023  润新知