2010-06-01 4 views
3

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

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

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

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

и так далее.

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

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

ответ

1

Вот хороший ли нить об этом: http://drupal.org/node/131031

Хотя, если вам просто нужно количество, а не другие вещи Просмотров предложение (поле форматирования & упорядочивания и т.д.), то почему бы не просто написать код правильного SELECT COUNT и назвать это днем?

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

+0

много сообщений о размещении кода в нижнем колонтитуле. Мне нужно, чтобы счет отображался в строке таблицы. или я что-то пропустил? – Jukebox

0

Я в настоящее время использую Views Group By module для этого типа функциональности.

Я на самом деле работает над добавлением других агрегатных функций (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 из поля, которое вы выбрали для агрегирования.

+0

Я пробовал этот модуль ... К сожалению, мне удалось отобразить «uid: 1» для каждого человека в группе (вместо фактического подсчета или всего). Я группирую «группу», агрегируя с «uid» и сортируя с «группой». есть идеи? – Jukebox

+0

Это странно.Если вы получаете каждого человека в группе, то я не думаю, что вы успешно группируетесь. Вы можете проверить выходной SQL. Кроме того, убедитесь, что вы не сортируете по критерию (в блоке Сортировочные критерии), который не находится в группе. – sirhc

Смежные вопросы