Если вы хотите проверить, сколько раз "type": "QUESTION"
запись появляется в conditions
столбца jsonb
по всей таблице.
select count(*) FROM logic CROSS JOIN LATERAL
jsonb_array_elements(jsonb_col->'conditions')as j(typ)
WHERE j->>'type' = 'QUESTION'
Если вы хотите проверить, сколько раз "type": "QUESTION"
запись появляется в conditions
для каждой строки.
select jsonb_col,count(*) FROM logic CROSS JOIN LATERAL
jsonb_array_elements(jsonb_col->'conditions')as j(typ)
WHERE j->>'type' = 'QUESTION'
group by jsonb_col
Если вы хотите проверить, сколько строк имеют хотя бы одну запись в условиях с
'type' = 'QUESTION'
select count(*) FROM
(
select DISTINCT jsonb_col FROM logic CROSS JOIN LATERAL
jsonb_array_elements(jsonb_col->'conditions')as j(typ)
WHERE j->>'type' = 'QUESTION'
)s;
Используйте запрос, который вы считаете подходящим для вас
Демо