mysql对String类型的数字值排序

时间:2023-03-09 07:51:25
mysql对String类型的数字值排序

一、需求:根据月份分组,然后再根据月份排序

效果图

mysql对String类型的数字值排序

sql如下:

SELECT
COUNT(1) number,
date_format(created_at,'%c') date
FROM
*********
WHERE
status = 1
AND is_enabled = 1
GROUP BY
date
order by date

二、问题

根据月份分组后,date字段的值为String类型,不能用order by直接排序

三、解决

在date前面加上两个负号(--) 即可将类型转为int类型

四、问题解决

SELECT
COUNT(1) number,
--date_format(created_at,'%c') date
FROM
*********
WHERE
status = 1
AND is_enabled = 1
GROUP BY
date
order by date