GQL
не поддерживает GROUP BY
и агрегатные функции, такие как COUNT
, MAX
. Вот почему он называется GQL
вместо SQL
. Проверьте GQL Reference для получения дополнительной информации.
Google App Engine не допускает агрегатные функции, это компромисс, который сделан для масштабируемости. Поэтому, если вам нужно выполнить агрегатные функции над вашим набором данных, вы должны сделать это самостоятельно. Если это простой счетчик, вы можете хранить счетчик и увеличивать его каждый раз, когда добавляете запись, соответствующую критериям. Для более сложных агрегатных функций с нечеткими измерениями (для группировки) вы должны предложить собственное решение. Нет простого ответа.
Предложение Ника может быть одним из решений; имея задачу проверять условия и регулярно вычислять агрегатные функции. Но это никогда не будет точным, это всегда будет что-то приблизительное. Именно поэтому Google не показывает точное количество результатов, соответствующих конкретному поисковому запросу, потому что они не знают, по крайней мере, они не хотят его вычислять, они просто дают оценку.