Sé que esta pregunta ya ha sido respondida, pero para algunos usos, estas soluciones no funcionan. Sin embargo, después de investigar un poco, encontré una solución que funciona para mis necesidades.
Encontré una solución muy útil que me permitió solucionar esto. He publicado el fragmento de código en DropBucket. Básicamente, usted implementa un enlace alternativo de consulta de Drupal 7 que verifica todas las consultas de vistas en busca de comentarios de consulta que especifiquen una cláusula groupby y un campo. Luego agrega ese groupby a la consulta SQL.
/**
* Found this trick on theoleschool.com.
*
* Description: Allows the view developer to specify the query
* group by action in the query comments. Great way to force the
* removal of duplicates.
*
* Just go into your query comments and type in "groupby:" with
* that colon followed by the field you want to group by.
*
* Examples...
* groupby:node.nid
* groupby:file_managed_file_usage.fid
*
* Ref-Comment: http://theoleschool.com/comment/496#comment-496
* Ref-Article: http://theoleschool.com/blog/using-hookviewsalter-add-group-statement
*/
function mymodule_query_alter(QueryAlterableInterface $query) {
if ($query->hasTag('views')) {
static $count;
$view =& $query->getMetaData('view');
if (strstr($groupby = $view->query->options['query_comment'], 'groupby')) {
list($action, $field) = explode(':', $groupby);
if (strlen($field) > 0) {
$query->groupBy($field);
}
}
}
}
http://dropbucket.org/node/153
La referencia de la fuente está en los comentarios de la página.