统计数据库中每月、每天、每小时的数据

最近在做订单统计,经过查询后发现数据库本身有定义很多时间方面的函数,这里把用到的统计每天,每月,每小时的数据的方法做个总结:

分月查询数据:
SELECT
  MONTH (  那个日期的字段  ),
  SUM(  需要统计的字段, 比如销售额什么的 )
FROM
  
WHERE
  YEAR (  那个日期的字段  ) = 2010   -- 这里假设你要查 2010年的每月的统计。这里可以加上其他条件。
GROUP BY
 MONTH (  那个日期的字段  )

分天查询数据:
SELECT
  DAY (  那个日期的字段  ),
  SUM(  需要统计的字段, 比如销售额什么的 )
FROM
  
WHERE
  (  那个日期的字段  ) BETWEEN ? AND ?  -- 这里插入你要查询的时间段,也可以加上其他条件。
GROUP BY
 DAY (  那个日期的字段  )


分小时查询
SELECT
  HOUR (  那个日期的字段  ),
  SUM(  需要统计的字段, 比如销售额什么的 )
FROM
  
WHERE
  (  那个日期的字段  ) BETWEEN ? AND ?  -- 这里插入你要查询的当天时间,也可以加上其他条件。
GROUP BY
 HOUR (  那个日期的字段  )
举例说明:
我这里要查的是成交的订单数据,表名为od_base,用的时间段是订单提交时间,字段为ORDER_COMMITTIME,要统计的是订单总金额,字段为RECEIVABLE;
这里查询每一天的数据的sql如下:

SELECT
DAY ( o.ORDER_COMMITTIME ),
SUM( o.RECEIVABLE )
FROM
od_base o
WHERE
o.ORDER_COMMITTIME BETWEEN '2018-02-06 10:27:34' AND '2018-03-06 10:27:34'
GROUP BY
DAY ( o.ORDER_COMMITTIME )

这样就查询到了2018-02-06到2018-03-06之间的所有数据,然后可以根据需求不同,在where后面加上不同的条件。





猜你喜欢

转载自www.cnblogs.com/self-studyRen/p/8982729.html
今日推荐