56,675
社区成员
发帖
与我相关
我的任务
分享
select version();
查询一下版本号,并把结果贴出来。
再把
select str_to_date(20150711201734, '%Y%m%d%H%i%s');
SELECT MAKETIME(12,15,30);
错误的提示贴出来。
至于20:00到19:59为一天,如果不是很在乎速度的话,直接用函数把时间转换为(unix_timestamp(str_to_date(20150711201734, '%Y%m%d%H%i%s')) + 4 * 3600) div 86400再group by。例如一天(这种转过来的日期有时区差异,8*3600是用来转换时区的, 4 * 3600是吧20:00以后的当成第二天)
select ((unix_timestamp(str_to_date(`time`, '%Y%m%d%H%i%s')) + 8 * 3600 + 4 * 3600) div 86400) as `day`, sum(product_num) as value from table1 group by day;
在乎的话就在数据表里多建一个套自定义日期(年、月、日、时、分、秒都有)的列并做索引,插入数据的程序里直接写入一个转换好的自定义日期到各个列并作个复合索引,将来想怎么分组就怎么分组。