0

MySQL では、これら 2 つのクエリに違いはありますか?

SELECT * FROM .... ORDER BY Created,Id DESC 

SELECT * FROM .... ORDER BY Created DESC, Id DESC

望ましい動作: "Created" (タイムスタンプ) による順序付け (降順) ですが、2 つのアイテムが同じ "Created" 値を持つ場合は、Id を使用した順序付け ( desc ) にフォールバックします。

4

5 に答える 5

1

はい、違いがあります。デフォルトの順序は昇順であるため、次のようになります。

SELECT * FROM .... ORDER BY Created,Id DESC 

Created昇順、Id降順で並べ替えます

SELECT * FROM .... ORDER BY Created DESC, Id DESC

降順CreatedId降順

于 2012-09-28T23:47:05.610 に答える
0

もちろん違いはあります。最初CREATEDは昇順で並べ替え、複数ある場合はそれらの行をID降順に並べ替えます。2 つ目CREATEDは、最初に降順で並べ替え、次にID複数ある場合は降順で並べ替えます。

2番目のものはあなたが望むことをするべきです。

(もちろん、これには疑問が生じます。なぜ自分で試して調べなかったのですか?)

于 2012-09-28T23:46:36.100 に答える
0

最初のものはうまくいかないと思いますか?

あなたができる

SELECT * FROM .... ORDER BY Created ASC, Id DESC
SELECT * FROM .... ORDER BY Created DESC, Id ASC

ただし、別のものを実行すると、わずかに遅くなります。

于 2012-09-28T23:47:19.503 に答える
0

最初の例では、列にデフォルトの順序付け( ASC)が使用されてCreatedいます。

于 2012-09-28T23:47:53.317 に答える
0

日付のデフォルトの並べ替えは、ASC (昇順) です。

したがって、最初のクエリには昇順のアイテムがあり、2 番目のクエリには降順のアイテムがあります。

于 2012-09-28T23:52:51.900 に答える