MySQL按列= x,列asc?

use*_*244 2 mysql

我不会粘贴整个查询.看起来像这样.

SELECT *, MONTH(date_created) as month 
from table 
GROUP BY month ORDER BY month='3', month asc
Run Code Online (Sandbox Code Playgroud)

由于是4月份,我今年要查询,我原本预计订单如下3,1,2,4.

相反,我得出1,2,4,3.

如何更改语句的ORDER BY部分,以按照选定月份的顺序排序结果,然后按顺序显示年份中的其余月份?

Joh*_*Woo 5

DESC

ORDER BY month = '3' DESC, month asc
Run Code Online (Sandbox Code Playgroud)

month='3' 是一个返回1或0的布尔表达式,所以基本上当结果为零时,它将在结果的最后部分.

或不使用DESC,使用<>

ORDER BY month <> '3', month asc
Run Code Online (Sandbox Code Playgroud)