2
我正在运行下面的查询。 (& &)运算符用于过滤任何重叠数组元素的结果集,并且如果我有一个非空数组,但是在空数组的情况下结果集是空的,可以推理出来但可以为空在这种情况下,数组被视为通用集合,可能类似array && ({*}::int[])
我想知道是否有像这样的解决方法。postgres数组重叠操作符(&&)在空数组的情况下
select pm.id,
sum(c.density) as score
from
metadata pm,
unnest(pm.dimen_one_id::int[], pm.dimen_one_density::float[]) as c(id, density)
where
c.id = any('{1}'::int[])
group by
pm.pin_id,
pm.dimen_one_id,
pm.dimen_two_id,
pm.dimen_three_id
having
pm.dimen_two_id && '{36,37,38}'::int[] and
pm.dimen_three_id && '{23}'::int[]
order by
score desc
limit
10
offset
0