Хотя вы можете использовать CASE
в этом сценарии, отфильтрованные агрегаты являются более краткими и более удобными для чтения:
sum(orders) FILTER (WHERE A_voucher = '')
Вот полный рабочий пример:
presto> WITH t(orders, A_voucher) AS (
-> VALUES (1, ''), (2, 'x'), (4, ''), (8, 'y'))
->
-> SELECT sum(orders) FILTER (WHERE A_voucher = '') AS total_orders
-> FROM t
-> ;
total_orders
--------------
5