mysql按照每天分组查询数据结果排序不是从1到31而是1后接10

时间:2021-12-25 00:55:43

    今天拉数据发现个问题,我按照每月的每天来查询数据后发现数据排序是不能从1-31的排序规则排序的,而是1后接10-19,然后2后接20-29,很奇怪的现象,上图:

mysql按照每天分组查询数据结果排序不是从1到31而是1后接10

代码为:select count(*) as 激活数,DATE_FORMAT(a.active_time,'%e') as 日期 from  app_ads_record a
where DATE_FORMAT(a.active_time,'%m')='02' AND a.ak="aisi" 
group by 日期 
ORDER BY 日期

后来想想是不是排序按照的是日期排序,给它转换成数字就能排序了,无意之间给日期加个1后

代码:select count(*) as 激活数,DATE_FORMAT(a.active_time,'%e') as 日期 from  app_ads_record a
where DATE_FORMAT(a.active_time,'%m')='02' AND a.ak="aisi" 
group by 日期 
ORDER BY (日期+1)

因为采用%e的截取方式是按照月的每天截取的,会去掉0(比如01会显示1)所以还有种方法就是将DATE_FORMAT(a.active_time,'%e')中的%e换成%d就能出正确排序结果了

mysql按照每天分组查询数据结果排序不是从1到31而是1后接10