Views добавить group by для одного поля
В админке вьюсов группировка(называется агрегацией) отвратительная. Группирует все поля, а толку ноль. Уникализация выборки тоже не работает.
Классическая ситуация. Вывод нескольких материалов(например блог) и одного приаттаченного материала к каждому блогу(через entity reference). И если к блогу привязано например 3 материала - то благодаря join в запросе это блог будет выведен трижды.
Чтобы это побороть - нужно поальтерить запрос:
/**
* Implements hook_query_alter().
*/
function mymodule_query_alter(QueryAlterableInterface $query) {
if (!empty($query->alterMetaData['view'])) {
if (($query->alterMetaData['view']->name == 'popular_authors') && ($query->alterMetaData['view']->current_display == 'ctools_context_1')) {
$query->groupBy("node.nid");
}
}
}