从App Engine数据存储中使用Group By获取记录

1 投票
2 回答
2812 浏览
提问于 2025-04-15 21:41

我正在尝试做这样的事情:

result = db.GqlQuery("SELECT * FROM myDataMode COUNT(Employee) GROUP BY(Department) WHERE Salary > :1"10000)

但是我遇到了一个错误:

BadQueryError: Parse Error: Expected no additional symbols at symbol count

有没有人能帮我一下呢?

2 个回答

1

因为GQL没有COUNTGROUP BY这两个功能,所以我设计了一个解决方案:

result = db.GqlQuery( SELECT * form Employee)

首先,创建一个数组,这个数组会包含结果中所有不重复的部门:

if result.Department not in array:
    array.append(result.Department)
for department in array:
    query = db.GqlQuery(SELECT * form Employee WHERE Department = :1,department)
    print "In" + department + query.count() +"Employees are working"
5

GQL不是SQL。它没有COUNT()或者GROUP BY()这些功能。想了解更多,可以查看这个GQL参考文档

撰写回答