谷歌应用引擎查询排序

3

如何使用多个属性对查询结果进行排序?

例如,我想按“lastname”排序我的查询结果,并在每个“lastname”组中按“firstname”排序。

2个回答

2
你尝试过这样写吗:

Person.all().order("lastname, firstname")


这样可以按照姓和名进行排序。

是的,我做了。但是,order("firstname") 打破了 "lastname" 的分组。 - Kei
那肯定是个bug了。http://code.google.com/appengine/docs/python/datastore/queryclass.html#Query_order 上说:“为结果添加排序方式。结果将从添加的第一个排序开始排序。” - Steve Jessop
可以用这个方法。这是非常基本的功能 - 你绝对可以像这样链接顺序子句。 - Nick Johnson

1

只需使用逗号分隔的两个命令,例如:

SELECT * FROM person ORDER BY lastname, firstname

更多详情请点击这里


我可以使用GqlQuery,但我想知道Query是否以任何方式支持这种排序。我在API文档中找不到任何示例。 - Kei
哦,我没有从问题中得到那个... 你尝试过 .order("lastname, firstname") 吗? - Aviad Ben Dov
那似乎不是一个有效的排序参数。我将使用GqlQuery并继续进行。谢谢帮助! - Kei

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接