Postgresql 如果我不能在where子句中使用聚合,如何获得结果
好的,我有一个查询,如果数组的第一个值\u agg=natural,我需要ommit结果,所以我想我可以这样做:Postgresql 如果我不能在where子句中使用聚合,如何获得结果,postgresql,Postgresql,好的,我有一个查询,如果数组的第一个值\u agg=natural,我需要ommit结果,所以我想我可以这样做: select visitor_id, array_agg(code order by session_start) codes_array from mark_conversion_sessions where conv_visit_num2 < 2 and max_conv = 1 and (array_agg(code order by ses
select
visitor_id,
array_agg(code
order by session_start) codes_array
from mark_conversion_sessions
where conv_visit_num2 < 2
and max_conv = 1
and (array_agg(code
order by session_start))[1] != 'natural'
group by visitor_id
那么有没有办法在where子句中引用数组_agg
谢谢having子句的作用类似于分组数据上的where子句。将使用聚合的标准移动到having子句中,例如:
select
visitor_id,
array_agg(code order by session_start) codes_array
from mark_conversion_sessions
where
conv_visit_num2 < 2
and max_conv = 1
group by visitor_id
having
(array_agg(code order by session_start))[1] != 'natural'
文件:
使用have尝试使用groupby和have子句。过滤行,过滤组。这正是我需要的。非常感谢。
select
visitor_id,
array_agg(code order by session_start) codes_array
from mark_conversion_sessions
where
conv_visit_num2 < 2
and max_conv = 1
group by visitor_id
having
(array_agg(code order by session_start))[1] != 'natural'