Postgres Aggragator, который проверяет наличие

Существует ли агрегатор 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 ответ

Решение
select sum(case when value = 4 then 1 else 0 end) > 0
from mytable
where id > 5
Другие вопросы по тегам