Postgres Aggregate检查是否发生

时间:2013-03-20 15:07:33

标签: sql postgresql-9.0

是否存在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?

我已经成功创建了一个聚合来做到这一点,但我想知道我是否刚刚重新创建了轮子......

1 个答案:

答案 0 :(得分:1)

select sum(case when value = 4 then 1 else 0 end) > 0
from mytable
where id > 5