2011-04-21 60 views
34

我有一些記錄與像名稱字段的表,評級等多級排序

我首先要根據評價結果限制到20,然後在這個ResultSet要排序,以進一步應用排序基於名稱。

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

Select * from table order by rating Desc limit 20 

,但在這個ResultSet上如何應用排序的另一個級別的查詢?我怎樣才能在一個sqlite語句中結合這兩種類型?

回答

96

您可以使用例如ORDER BY rating DESC, name ASC按照等級排序,然後如果等級相同,則按名稱排序。

+0

'ASC'是默認值,因此它可以是'ORDER BY等級DESC,name' – 2017-11-23 14:26:37

+0

@VasileDoe:是的,你可以,我認爲這是非常如果你在同一個陳述中有任何不是ASC的東西,就很難這樣做。 – ThiefMaster 2017-11-23 14:27:34

14

這個查詢應該做的伎倆:

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