加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql 实现年月日按一段时间进行数据统计

发布时间:2023-02-13 13:36:51 所属栏目:MySql教程 来源:
导读:  mysql 实现年月日按一段时间进行数据统计 1、查询数据表组成时间列表

  SELECT
  ? ? @cdate := DATE_ADD(@cdate, INTERVAL + 1 {1}) c_time,
  ? ? t0.id
  FROM
  ? ? ( SELECT @cdate := D
  mysql 实现年月日按一段时间进行数据统计 1、查询数据表组成时间列表
 
  SELECT
  ? ? @cdate := DATE_ADD(@cdate, INTERVAL + 1 {1}) c_time,
  ? ? t0.id
  FROM
  ? ? ( SELECT @cdate := DATE_ADD( '{2}', INTERVAL + 0 {1}), id FROM time_base ) t0?
  LIMIT {3}
  1 按年月日可分为: YEAR, MONTH, DAY2 需要组的时间数据的起始日期例如(2021, 2021-06, 2021-06-01)3 需要组的时间数据的总数,例如(7(近七年,近七月,近七天))这里的time_base 表可以是任何表,只要数据总量足够大于时间列表总数即可,表中有无时间字段并没有什么影响。
 
  # 这里查询的时间结果没有按照所需要的格式进行显示,下面sql中会对查询的总体结果进行重新格式化
 
  2、根据业务需求mysql数据表,对对应的数据表单进行数据筛选
 
  select?
  ? ? DATE_FORMAT(a_t_w_h.create_time, '{0}') AS time,
  ? ? sum(a_t_w_h.use_water) as use_water
  from?

  ? ? archive_total_water_header a_t_w_h
  where?
  ? ? date_format(a_t_w_h.create_time, '{0}') between('{2}', '{4}')
  group by?
  ? ? date_format(a_t_w_h.create_time, '{0}')
  0 时间格式化字符, 按年月日可分为:%Y, %Y-%m, %Y-%m-%d2 数据筛选的起始时间4 数据筛选的结束时间(上面3中的值其实就是4-2的值)3、 将时间和数据进行分组并求和,平均等
 
  SELECT
  ? ? DATE_FORMAT( t1.c_time, '{0}') AS t_time,
  ? ? IFNULL(t2.use_water, 0) as water
  FROM
  ? ? (
  ? ? SELECT
  ? ? ? ? @cdate := DATE_ADD(@cdate, INTERVAL - 1 {1}) c_time,
  ? ? ? ? t0.id
  ? ? FROM

  ? ? ? ? ( SELECT @cdate := DATE_ADD( '{2}', INTERVAL + 1 {1}), id FROM time_base ) t0?
  ? ? LIMIT {3}
  ? ? ) t1
  left join (
  ? ? select?
  ? ? ? ? DATE_FORMAT(a_t_w_h.create_time, '{0}') AS time,
  ? ? ? ? sum(a_t_w_h.use_water) as use_water
  ? ? from?
  ? ? ? ? archive_total_water_header a_t_w_h
  ? ? date_format(a_t_w_h.create_time, '{0}') between('{2}', '{4}')
  ? ? group by?
  ? ? ? ? date_format(a_t_w_h.create_time, '{0}')
  )t2 on date_format(t1.c_time, '{0}') = t2.time
  ORDER BY t1.c_time

  ### 如有其他方法再与大家分享!!!
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!