+ -
当前位置:首页 → 问答吧 → 求助,MySQL分组查询

求助,MySQL分组查询

时间:2013-01-09

来源:互联网

在对订单数据进行分组查询的时候,由于把每天下午6点,也就是每天18:00作为第一天和第二天的分界,所以在使用

SELECT DATE_FORMAT(FROM_UNIXTIME(add_time), '%Y-%m-%d') AS period FROM `ecs_order_info` GROUP BY period

进行分组查询的时候,得到的总是按照00:00这个时间点儿获得的分组数据

在网上搜到了一个解决办法,但是执行的时候,却一直报错

http://www.yourphp.cn/2009/1129/1088.html

希望哪位大侠抽空给个解决办法,谢谢


作者: Ni许嵩   发布时间: 2013-01-09

如上表,我想获得每天有多少天数据,也就是按照天分组,时间上有规定,每天17:00后的算第二天的数据,
例如:2007/02/01 17:00 到 2007/02/02 17:00 算 2007/02/02 的数据


select date1,count(*) from (select date,
case when time_to_sec(timediff(date_format(date,'%H:%i:%s'),'17:00:00'))>0
then date_add(date_format(date,'%Y-%m-%d'),interval 1 day)
case when time_to_sec(timediff(date_format(date,'%H:%i:%s'),'17:00:00'))<=0
then date_format(date,'%Y-%m-%d')
end as date1
from test
order by date desc) group by date1 order by date desc

作者: spser   发布时间: 2013-01-09