Сравнить данные в одном столбце

Столкнулся с таким вопросом. Пример, столбец таблицы:

  • -1
  • 0
  • 1
  • -2
  • 4
  • 1
  • -1
  • 3
  • ...

Нужно посчитать количество 1 в столбце а после, это значение поделить на сумму столбца не учитывая посчитанные 1 (единицы).

Есть мысли как это сделать 2-мя процедурами, а вот как это сделать в одной?


Ответы (1 шт):

Автор решения: MaxU

Попробуйте так:

select count(case when col = 1 then 1 end) / sum(case when col != 1 then col else 0 end) as result
from table_name;
→ Ссылка