mysql按照天查询每天的数据汇总

qq245521371 2019-06-17 05:44:22
有一张表,字段有id,openid,eventTime;eventTime是存储时间的 格式为datetime,我要查询 2019-06-03 11:00:00 到 2019-06-08 13:00:00的数据 按每天展示 比如 2019--06-03 有100条数据 2019-06-04 有150条数据 这么展示......,请问大佬们应该怎么做
...全文
1874 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
天醉心游 2019-12-03
  • 打赏
  • 举报
回复
select year(eventTime),month(eventTime),day(eventTime),count(id) from table where eventTime>='***' and eventTime<'***'
group by year(eventTime),month(eventTime),day(eventTime)
蜕变之痛 2019-10-04
  • 打赏
  • 举报
回复
1、where取出范围;
2、把时间转为天;
3、分组统计天
plok121 2019-09-19
  • 打赏
  • 举报
回复
这种方式可以,默认为升序,就是降序失败!,请问下降序的方式是?
文修 2019-07-10
  • 打赏
  • 举报
回复
楼主你好,二楼的方法可以,不过 group by比较耗费性能,尤其当表记录比较多的时候, 建议可以单独维护一张表,存储每天的记录总值,这样查询比较快
过眼浮云866 2019-07-09
  • 打赏
  • 举报
回复
SELECT DATE_FORMAT(eventTime,'%Y-%m-%d') AS data_date,COUNT(id) AS num FROM `table_txt`
WHERE eventTime >= '2019-06-03 11:00:00' AND eventTime <= '2019-06-08 13:00:00' GROUP BY data_date;

`table_txt` : 表名,换成你自己的表即可;
愿乘风破浪 2019-07-05
  • 打赏
  • 举报
回复
做统计之类的功能,建议加几个char类型的日期字段/每年第几周/每年第几个月,这样要根据周,年,日做统计都非常方便,而且也不会用到DATE_FORMAT之类的日期函数,导致不走索引
k10509806 2019-06-18
  • 打赏
  • 举报
回复 2
select DATE_FORMAT(eventTime,'%Y%m%d') days,count(id) count from t_xxx group by days;

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧