你如何使用视图获得drupal中的Min()或Max()?

时间:2010-02-26 21:17:54

标签: drupal drupal-views

我正在使用Drupal的Views 2,需要从自定义表中的字段中检索最小值。如果我是手工编写的话,对此的查询很容易 - 例如,“SELECT foo,min(bar)FROM FROM GROUP BY foo”。但是我如何使用Views来做到这一点?我已经在views.info文件中定义了表,因此获取视图以查看表格没有问题。这是我不明白的查询的Min()部分。

我的下一站将是Views API文档,但如果有人可以提供如何快速完成此操作的大纲,我将不胜感激。

3 个答案:

答案 0 :(得分:1)

对旧问题的新答案,但这样的事情会起作用。您需要创建一个自定义字段处理程序,然后按如下方式包装该字段:

class views_handler_custom_field extends views_handler_field {

  function query() {
    $this->ensure_my_table();
    $this->field_alias = $this->query->add_field("MAX({$this->table_alias}", "{$this->real_field})",$this->table_alias . "_" . $this->real_field);
  }
}

答案 1 :(得分:1)

  1. 使用高级视图配置中的聚合。设置完成后 是的,您可以选择最大,最小或任何其他选择器到字段。
  2. 测试你的结果但它应该运作良好

    1. 或者在某些情况下,您可以按升序或数据对数据进行排序 下降,然后只选择一个在视图上显示。可 显示多个字段时出现问题。
    2. 在测试之后,第一个似乎更快,至少在小规模上。

答案 2 :(得分:0)

可以考虑模块groupbyviews_calc,但我认为它们不适合您。
此外,您可以使用custom module完成此操作。