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

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


代码为: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就能出正确排序结果了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值