Google App-Engine Java Группировать и считать (*) запросы - PullRequest
3 голосов
/ 04 мая 2010

Я могу вставлять, фильтровать и заказывать записи, но не могу использовать простой счет !! Мне интересно, есть ли способ получить не общее количество строк в таблице? Есть ли способ использовать GROUP BY в запросе?

Ответы [ 2 ]

6 голосов
/ 04 мая 2010

Вы можете просмотреть статистику о ваших данных в интерфейсе администратора или с помощью DatastoreService , и там вы можете найти общее количество строк («сущностей вида»).

Нет способа использовать GROUP BY, он не поддерживается Google BigTable. См. «Неподдерживаемые функции»

Перед использованием таких хранилищ вам необходимо прочитать о NoSQL и понять, как это работает, и почему не может быть group_by, join и т. Д.

1 голос
/ 05 мая 2010

Самый простой способ - использовать курсоры для перебора всех записей, которые соответствуют запросу, и подсчитывать их, но это даст вам большие издержки, если у вас много сущностей. Более разумный способ - если у вас нет слишком сложного фильтра, чтобы использовать заштрихованные счетчики для подсчета результатов каждого возможного фильтра, это также доставит вам головную боль, если у вас слишком много параметров в фильтре. Почему так важно показать номер пользователя, который привел меня к старой шутке:

В: Как считать 8 миллионов строк? A: Почему / Кто должен знать, что есть 8M строк?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...