有什么方法可以在App Engine中使用GROUP
BY,通过GQL或Query
方法吗?如何在App Engine中使用GROUP BY
我做了一些研究,我读过,有GQL没有GROUP BY
在,看起来像没有也Query
类。
如果有任何资源或任何方法与Python,请让我知道。
编辑
我读过也是它可能使GROUP BY
与Map Reduce。如果任何人有这方面的经验,一个帮助将被接受。
谢谢。
有什么方法可以在App Engine中使用GROUP
BY,通过GQL或Query
方法吗?如何在App Engine中使用GROUP BY
我做了一些研究,我读过,有GQL没有GROUP BY
在,看起来像没有也Query
类。
如果有任何资源或任何方法与Python,请让我知道。
编辑
我读过也是它可能使GROUP BY
与Map Reduce。如果任何人有这方面的经验,一个帮助将被接受。
谢谢。
不,数据存储不支持任何类型的数据库端处理或聚合。解决方案是在内存中进行所有后期处理。有两种方法可以在每个请求中或使用map reduce。任何解决方案将始终返回查询中的所有行,但您获取行的方式会有所不同。
您不能使用appengine库执行GROUP BY
查询。这是数据库体系结构的失败,在gereral中(其中Google的BigTable是其中一个实现)。
根据您使用GROUP BY
所做的工作,另一种方法可能适合您的需求。对于每个“类型”的模型,您正在查询您的GROUP BY
,建立一个db.Model
类来表示每个类。然后直接查询这些类。
或者,如果您已预先知道返回的组的值,则可以为每个值设置Query#filter(),并将这些查询作为您的GROUP BY
ed集处理。
我想这个解决方案最终取决于你计划如何处理分组数据。如果分组要求是为了简化HTML代码中的输出,那么您可以通过regrouping模板中的数据来解决该问题。
对于计算或其他类型的聚合,您需要在内存中执行此操作。