作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 drupal 6,我已经创建了一个 View ,并在 View 中添加了查询
GROUP BY AND DISTINCT 从句。
为此,我尝试使用 views_groupby 提供的模块,但它仅提供 COUNT SQL 聚合函数。
我不知道如何使用 hook_views_query_alter(&$view, &$query)
在 View 查询中添加 group by 子句和 distinct 子句。
所以它看起来像这样 -
SELECT DISTINCT(node.nid) AS nid, OTHER_COLUMN
FROM TABLE_NAME
JOIN ANOTHER_TABLE ON JOIN_CONDITION
GROUP BY nid
如有任何帮助或建议,我们将不胜感激。
最佳答案
Group By 不适用于 hook_views_query_alter,这被称为 drupal View 模块问题。在 https://drupal.org/node/590534 报告, http://drupal.org/node/1608742 , http://drupal.org/node/389230#comment-2637200
此外,聚合函数的 View 未给出所需的结果,因为它会将所有字段和排序顺序字段添加到按条件分组。因此,您应该使用其他 Hook ,例如 hook_query_alter。
function hook_query_alter( &$query) {
if($query->alterMetaData['view']->name == "your_views_name"){
$query->groupBy("domain_source.domain_id");
//also you can unset other group by critera by using, unset($query->getGroupBy());
}
}
关于mysql - 如何在 drupal View 中添加 DISTINCT、GROUP BY 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7888297/
我是一名优秀的程序员,十分优秀!