web-dev-qa-db-ja.com

複数レベルの順序付け

名前、評価などのフィールドを持ついくつかのレコードを持つテーブルがあります。

まず、結果を20に制限する評価に基づいて並べ替えてから、この結果セットに基づいて名前に基づいて並べ替えをさらに適用します。

次のようなクエリを使用する必要があるソートを知っています

Select * from table order by rating Desc limit 20

しかし、この結果セットで別のレベルの順序付けを適用する方法は?これら2つの並べ替えを1つのsqliteステートメントに組み合わせるにはどうすればよいですか?

42
Sapan

使用できますORDER BY rating DESC, name ASC評価でソートし、評価が等しい場合は名前でソートします。

111
ThiefMaster

このクエリはトリックを実行する必要があります。

SELECT * FROM (SELECT * FROM table ORDER BY rating DESC LIMIT 20) ORDER BY name
17
JuanBoca