Мне любопытно, почему вы не сформулируете логику следующим образом:
SELECT true as a, 'something' as b, '12' as c, CAST(SUM(mr.bar) as INTEGER)
FROM foo.bar as mr
WHERE mr.a AND
mr.b = 'something' AND
mr.c = '12';
Это запрос агрегации (из-за SUM()
в SELECT
), который не имеет явного GROUP BY
.Я думаю, что это должно привести к более оптимальному плану выполнения.Кроме того, он всегда будет возвращать одну строку, даже если ни одна строка не соответствует условию.