2009-08-15 64 views
3

如何使用多個屬性對查詢結果進行排序?Google AppEngine查詢訂單

例如,我想按'lastname'命令查詢結果,並在'lastname'的每個組中按'firstname'排序。

+0

+1。這很有趣。 – 2009-08-15 18:49:40

回答

1

只要使用由逗號分隔的兩個數量級,例如:

SELECT * FROM person ORDER BY lastname, firstname 

詳情請參閱here

+0

但它的GqlQuery不是查詢 – 2009-08-15 12:28:39

+0

我可以使用GqlQuery來代替,但我不知道查詢是否支持這種排序方式。我在API文檔中找不到任何示例。 – Kei 2009-08-15 13:45:39

+0

哦,我沒有從這個問題得到這個......你是否嘗試過'.order(「lastname,firstname」)'? – 2009-08-15 14:58:28

2

您是否嘗試過:。

Person.all()命令( 「姓氏」)命令( 「名字」)

+0

是的,我做到了。但是,order(「firstname」)會打破「lastname」上的分組。 – Kei 2009-08-15 13:52:47

+0

那肯定是一個bug。 http://code.google.com/appengine/docs/python/datastore/queryclass.html#Query_order說:「爲結果添加排序,結果按添加的第一個順序開始排序」。 – 2009-08-16 18:51:48

+0

適合我。這是非常基本的功能 - 你可以確定鏈接這樣的訂單子句。 – 2009-08-17 12:20:47