多级订购

时间:2011-04-21 09:41:19

标签: sql sqlite sorting

我有一张表,其中包含一些记录,其中包含名称,等级等字段。

我首先要根据评级限制结果排序到20,然后在此结果集上希望进一步根据名称应用排序。

我知道要排序我们需要使用像

这样的查询
Select * from table order by rating Desc limit 20

但是在这个结果集上如何应用另一个级别的排序?如何在一个sqlite语句中组合这两种类型?

2 个答案:

答案 0 :(得分:106)

您可以使用例如ORDER BY rating DESC, name ASC按评分排序,然后,如果评分相等,则按名称排序。

答案 1 :(得分:17)

此查询应该可以解决问题:

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