计算聚合字段

时间:2016-05-27 18:03:19

标签: sql postgresql

我回来了更多的potgresql问题:)

我有一个查询,显示创建计划和更新计划之间的时间。

select
  ...

  EXTRACT(DAY FROM MAX(plans.updated_at) - MIN(plans.created_at)) AS DateDifference

  ...

现在我想在天数为0时排除结果

所以我试过了:

WHERE EXTRACT(DAY FROM MAX(plans.updated_at) - MIN(plans.created_at)) > 0

但我得到的聚合函数不允许在哪里。

实现这一目标的最佳方法是什么?

提前致谢

1 个答案:

答案 0 :(得分:2)

如果您的查询符合您的要求,那么您将使用having子句:

HAVING EXTRACT(DAY FROM MAX(plans.updated_at) - MIN(plans.created_at)) > 0

聚合值的条件需要在聚合后处理。因此,HAVING子句位于GROUP BY之后。