0

テーブルを用意します。

Game
----------
ID
UploadDate
LastUpdate

UploadDateはゲームがアップロードされたLastUpdate日付であり、ゲームの最終更新日です。

新しいゲームにはUploadDate == LastUpdate.

戻りたいですMost recently updated games。それらはLastUpdate降順で並べるUploadDate == LastUpdate必要がありますが、リストの一番下にプッシュする必要がある場合。

私はもう試した:

ORDER BY UploadDate <> LastUpdate, LastUpdate DESC

しかし、構文が正しくありません。クエリごとにこの順序を手伝ってくれる人はいますか?

4

3 に答える 3

3

使用している構文は MySQL に適しています。以下は、ほぼすべてのデータベースで機能します。

ORDER BY (case when UploadDate <> LastUpdate then 1 else 0 end) desc, LastUpdate DESC
于 2013-07-23T13:58:38.543 に答える
2

あなたは非常に近いです-order by句には、ブール条件ではなく、並べ替える値が必要です。代わりに、CASE ステートメントで条件をラップできます。次に例を示します。

ORDER BY CASE WHEN UploadDate <> LastUpdate THEN 0 ELSE 1 END ASC, LastUpdate DESC
于 2013-07-23T13:58:50.563 に答える
1

試す:

ORDER BY CASE WHEN UploadDate = LastUpdate THEN 2 ELSE 1 END ASC, LastUpdate DESC
于 2013-07-23T13:59:25.087 に答える