SQL функции обычно агрегируют данные по строкам, а не по столбцам, поэтому я не думаю, что есть общий c способ сделать это. Однако для этого варианта использования вы можете использовать серию case
выражений:
SELECT id, a, b, c, d,
CASE a WHEN 'Y' THEN 1 ELSE 0 END +
CASE b WHEN 'Y' THEN 1 ELSE 0 END +
CASE c WHEN 'Y' THEN 1 ELSE 0 END +
CASE d WHEN 'Y' THEN 1 ELSE 0 END AS e
FROM mytable