Коэффициент рассчитывается в Cloudera - PullRequest
0 голосов
/ 01 мая 2018

Как я могу получить отношение из переменной, которая имеет одно из 0, 1, NULL, чтобы убедиться, что NULL считаются как 0, и я получаю отношение всех

sum(COALESCE(call_received, 0)) AS call_received

Фрагмент выше, я думаю, должен позаботиться о NULL, на что мне его разделить, чтобы убедиться, что я все учел?

1 Ответ

0 голосов
/ 01 мая 2018

Вы можете использовать COUNT(*):

SELECT SUM(COALESCE(call_received,0)) AS call_received,
       COUNT(*) AS call_total,
       SUM(COALESCE(call_received,0)) / COUNT(*) AS call_received_ratio
FROM yourTable

COUNT(*) включает в себя NULL с в общем количестве, поэтому здесь ничего особенного не требуется.

...