zoukankan      html  css  js  c++  java
  • MySql按指定天数进行分组数据统计分析 2

    上次的随笔1中写的分组方式,经分析,是从前往后进行分组,即若选择2014的数据进行统计每11天为一组的话,1的分组方式,

    按照2014-01-01——2014-01-11为一组,之后每11天为一组。

    但如果想按以最近11天为一组的话,就要使用下面的SQL进行查询,

    SQL中的关键是groupNum的获取,YEAR(date)* 1000 为区分年份;

    ( DAYOFYEAR(date)+ 11 - MOD(DAYOFYEAR(CURDATE()) ,11)) DIV 11 下划线部分为增加的偏移量,以满足按照最近11天进行分组

    :按照上面的表达式计算出的groupNum进行分组,是不包含当天进行的统计,如果想要包括当天的数据,则下划线部分的值减1即可。

     1 SELECT
     2     job_id AS jobID,
     3     SUM(count)AS totalNum,
     4     COUNT(job_id)AS countNum,
     5     (
     6         YEAR(date)* 1000 +(
     7             DAYOFYEAR(date)+11 - MOD(DAYOFYEAR(CURDATE()) ,11)
     8         )DIV 11
     9     )AS groupNum
    10 FROM
    11     job_logs
    12 WHERE
    13     YEAR(date)>2013
    14 GROUP BY
    15     groupNum    

     (转载请注明来源:http://www.cnblogs.com/xpyan/p/3643640.html)

  • 相关阅读:
    Out of Hay POJ
    Sum Problem hdu 1001
    N! hdu 1042
    线性表的链式表示和实现(插入删除建空合并)
    NYOJ 1007
    NYOJ 954
    NYOJ 998
    NYOJ 455
    NYOJ 975
    数据结构复习0---线性表
  • 原文地址:https://www.cnblogs.com/xpyan/p/3643640.html
Copyright © 2011-2022 走看看