2013-03-20 38 views
0

是否存在一個Postgres聚合,從而,下表上使用時:在查詢Postgres的Aggragator其檢查OCCURENCES

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
select sum(case when value = 4 then 1 else 0 end) > 0 
from mytable 
where id > 5