1

Web サイトにサブスクリプション リストを作成しようとしていますが、実際に機能するクエリでの複数の "order by" の解決策が見つかりません。

私の現在のコードは次のとおりです。

 select name from data_subscriptions 
 where authVal="1" 
 order by id desc, name asc limit 100

しかし、名前 asc ではなく、id desc でのみ注文します。

データベース:

[1] ( id=1, authVal=1, name=Alex )
[2] ( id=2, authVal=1, name=Jens )

Jens、次に Alex が表示されます。

4

2 に答える 2

9

おそらくあなたが望んでいたのはこれだったと思います:

order by name asc, id desc

これは名前順になりますが、名前が同じ場合はID順になります

既存のコードは ID で並べ替えられ、ID が同じ場合は名前で並べ替えられます。私の推測では、ID は決して同じではないため、常に ID 順になります。

于 2013-01-28T17:24:57.637 に答える
0

重要度の高い順に並べる必要があります。

order by lastname asc, firstname asc

これは姓、名の順になります。姓は、2 つの行間で姓が一致する場合にのみ考慮されます。

Doe, John
Smith, Able
Smith, Joe
Smith, John

あなたの場合、IDはおそらくあなたのPKです。その場合、他の誰とも一致しないため、二次的な順序付けは機能しません。

于 2013-01-28T17:25:57.367 に答える