是否存在Postgres聚合器,以便在下表中使用时:
id | value
----+-----------
1 | 1
2 | 1
3 | 2
4 | 2
5 | 3
6 | 3
7 | 3
8 | 4
9 | 4
10 | 5
在查询中,例如:
select agg_function(4,value) from mytable where id>5
将返回
agg_function
--------------
t
(一个布尔值为真的结果),因为选择了一行或多行值= 4?
换句话说,一个参数指定要查找的值,另一个参数指定列说明符,如果列值等于一行或多行的指定值,则返回true?
我已经成功创建了一个聚合来做到这一点,但我想知道我是否刚刚重新创建了轮子......
答案 0 :(得分:1)
select sum(case when value = 4 then 1 else 0 end) > 0
from mytable
where id > 5