Python 使用Group By从appengine数据存储中获取记录
我正在尝试这样的事情:Python 使用Group By从appengine数据存储中获取记录,python,google-app-engine,Python,Google App Engine,我正在尝试这样的事情: 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 谁能帮帮我吗。GQL不是SQL。它没有计数或分组依据。有关更多信息,请参阅。G
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
谁能帮帮我吗。GQL不是SQL。它没有计数或分组依据。有关更多信息,请参阅。GQL不是SQL。它没有计数或分组依据。有关更多信息,请参阅。,因为GQL没有COUNT和GROUP 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"
因为GQL没有COUNT和groupby函数。
所以我设计了一个解决方案:
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"
该语句不是合法的SQL或GQL。正如威尔所说,GQL与SQL不同。但是您的语句在常规SQL数据库中也不起作用,因为您不能选择*并使用GROUPBY。您需要指定要选择的列。您试图通过此查询实现什么?也许我们可以帮你写一个有用的。谢谢Peter,我知道GQL不同于SQL。我的问题很简单,我是一个模范员工,而不是包含Emp_id、Name、Department_id等列。现在我想计算每个部门的员工人数。该语句不是合法的SQL或GQL。正如威尔所说,GQL与SQL不同。但是您的语句在常规SQL数据库中也不起作用,因为您不能选择*并使用GROUPBY。您需要指定要选择的列。您试图通过此查询实现什么?也许我们可以帮你写一个有用的。谢谢Peter,我知道GQL不同于SQL。我的问题很简单,我有一个模范员工,而不是包含Emp_id、Name、Department_id列。现在我想计算每个部门的员工人数。