Подсчет количества результатов в представлении - PullRequest
3 голосов
/ 02 июня 2010

Мне нужно посчитать, сколько людей входит в заранее определенные группы (это легко сделать в SQL с помощью оператора SELECT COUNT). Мой запрос Views работает нормально и отображает фактические данные в моей таблице, но мне просто нужно знать, сколько результатов он нашел.

Однако кажется, что в представлениях нет опции COUNT. Я предполагаю, что мне придется использовать какой-то хук представлений, а затем вставить результат в таблицу.

Вот краткий пример того, чего я пытаюсь достичь:

My Table
----------------------
Group A | 20 people
Group B | 63 people

и т. Д.

(Я пытался использовать модуль Views_Calc, но я получаю ошибки, потому что он еще не совсем стабилен.)

Кто-нибудь знает простой способ подсчета результатов в представлениях?

Ответы [ 2 ]

1 голос
/ 02 июня 2010

Вот хорошая ветка об этом: http://drupal.org/node/131031

Хотя если вам ПРОСТО нужен счетчик, а не другие вещи, которые предлагает Views (форматирование и упорядочение полей и т. Д.), Почему бы просто не кодировать правильный оператор SELECT COUNT и вызывать его в день?

(Если вы действительно нуждаетесь в других предложениях Views, есть много примеров в этой теме выше.)

0 голосов
/ 02 июня 2010

В настоящее время я использую модуль Группы просмотров по для этого типа функций.

На самом деле я работаю над добавлением в него других агрегатных функций (MIN, MAX и т. Д.), Но поскольку вам нужна только функция COUNT, я думаю, что это довольно хороший вариант.

Все, что вам нужно сделать (после установки и включения модуля), в представлении, которое вас интересует:

  1. Добавьте поля для критериев, которые вы хотите GROUP BY.
  2. Добавьте поле агрегации SQL в качестве последнего поля (или поменяйте его местами в последнее).
  3. Выберите поля (вы можете выбрать несколько полей) Fields to Group On.
  4. SQL Aggregation Function должно быть установлено на Count.
  5. Поля на Aggregate with the SQL function устанавливаются на поля, по которым вы не группируете. (Это будет добавлено в функцию COUNT, как COUNT(<this field>) в SQL)
  6. Остальное зависит от вас и нажмите Update.

Вы должны получить вывод COUNT из поля, которое вы выбрали для агрегирования.

...