我回来了更多的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
但我得到的聚合函数不允许在哪里。
实现这一目标的最佳方法是什么?
提前致谢
答案 0 :(得分:2)
如果您的查询符合您的要求,那么您将使用having
子句:
HAVING EXTRACT(DAY FROM MAX(plans.updated_at) - MIN(plans.created_at)) > 0
聚合值的条件需要在聚合后处理。因此,HAVING
子句位于GROUP BY
之后。