Tôi biết câu hỏi này đã được trả lời, nhưng đối với một số sử dụng, các giải pháp này không hoạt động. Tuy nhiên, sau khi thực hiện một số nghiên cứu tôi đã tìm thấy một giải pháp phù hợp với nhu cầu của mình.
Tôi tìm thấy một cách giải quyết thực sự hữu ích cho phép tôi khắc phục điều này. Tôi đã đăng đoạn mã lên DropBucket. Về cơ bản, bạn triển khai hook thay đổi truy vấn Drupal 7 để kiểm tra tất cả các truy vấn xem cho các nhận xét truy vấn xác định mệnh đề và trường của nhóm. Sau đó, nó thêm nhóm đó vào truy vấn 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
Các tài liệu tham khảo nguồn là trong các ý kiến trên trang.