大佬们如何分段查询

要做一个统计
大佬们如何分段查询
数据是这样存的,
想这样展示

大佬们如何分段查询

每个时间段查出来count一下显示到图表中,时间也要相对应起来,

还有一种简单方式是 存数据库 年 月 日 日期 时间 分开存 ,group一下就出来了,我想看看大佬们怎么写比较合理简单,

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 12

用php处理

4年前 评论

@生活无限好 ?????????????

4年前 评论
Fzyyy 4年前

窗口函数试试

4年前 评论

可以用mysql时间处理函数转成你想要的格式,再group by

4年前 评论
fatrbaby

SQL写是能写,只是数据多了这种复杂的带有group by的sql跑不动,建议代码处理。

4年前 评论

@fatrbaby 用php处理的话是不是要分开存数据库

4年前 评论

根据需求改DATE_FORMAT函数格式化的值就可以了,第一个参数是时间字段,注意时间是年-月-日 时-分-秒。如果是时间戳。还需要转换下

select sum(num) as total,DATE_FORMAT(time,'%Y-%m-%d') as day from table_data GROUP BY day;

# time为时间戳的情况,转为日期格式在查询
select sum(num) as total,DATE_FORMAT(from_unixtime(time, '%Y-%m-%d %H:%i:%S'),'%Y-%m-%d') as day from table_data GROUP BY day;
4年前 评论
sane

试试虚拟列加前缀索引

4年前 评论

数据量大的话,我就建一个统计表,记录每段时间的数据 :smile:

4年前 评论

一般情况就是MYSQLGROUP BY或者是php处理数据,数据量大的,实时性要求不高可以定时生成数据,存储在redis或者文件里面!

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!