2

クエリ全体は貼り付けません。このように見えます。

SELECT *, MONTH(date_created) as month 
from table 
GROUP BY month ORDER BY month='3', month asc

今は 4 月で、今年はクエリを実行しているので、順序は 3、1、2、4 のようになると予想していました。

代わりに、1、2、4、3 を取得します。

ステートメントの ORDER BY 部分を変更して、最初に選択した月で結果を並べ替え、次にその年の残りの月を順番に表示するにはどうすればよいですか?

4

3 に答える 3

5

追加DESC

ORDER BY month = '3' DESC, month asc

month='3'1または0を返すブール式であるため、基本的に結果がゼロの場合、結果の最後の部分になります。

または使用せずDESCに使用する<>

ORDER BY month <> '3', month asc
于 2013-04-25T14:01:01.113 に答える
0

DESCorASCを最初の順序で追加する必要があります。

SELECT *, MONTH(date_created) as month 
FROM table 
GROUP BY month ORDER BY month='3' DESC, month ASC
于 2013-04-25T14:03:36.697 に答える
-2

ソリューションは ORDER BY FIELD です

SELECT * FROM table
GROUP BY month
ORDER BY FIELD(month, 3,1,2,4)
于 2013-04-25T14:14:34.693 に答える