多级订购

Sap*_*pan 44 sql sqlite sorting

我有一张表,其中包含一些记录,其中包括姓名,评级等字段.

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

我知道要排序我们需要使用像这样的查询

Select * from table order by rating Desc limit 20
Run Code Online (Sandbox Code Playgroud)

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

Thi*_*ter 115

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

  • 在 SQL 中`ASC` 是默认值,所以它可以是`ORDER BY rating DESC, name` (2认同)

Jua*_*oca 17

这个查询应该做的伎俩:

SELECT * FROM (SELECT * FROM table ORDER BY rating DESC LIMIT 20) ORDER BY name
Run Code Online (Sandbox Code Playgroud)