Расчет процентного значения - PullRequest
0 голосов
/ 20 октября 2018

Я хочу рассчитать процент значения, превышающего пороговое значение, по sql, как в Excel (COUNTIF / COUNT)

Спасибо за помощь

enter image description here

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Другое решение без AVG () , используя подзапросы.

Запустите его здесь: https://www.db -fiddle.com / f / pm4VyShqzNBMpceCzgzniZ / 7

SELECT NumberOfValid, 
       NumberOfAll, 
       NumberOfValid/NumberOfAll AS "Ratio of Valid/All" 
FROM   (SELECT Count(*) AS NumberOfValid 
        FROM   test 
        WHERE  id < 9) AS subquery1, 
       (SELECT Count(*) AS NumberOfAll 
        FROM   test) AS subquery2; 

Обратите внимание, что это решение более сложное,но более гибкий .AVG () всегда делит на COUNT () всего набора, но с подзапросами у вас есть полный контроль.В этом случае AVG () идеально, но , в других случаях могут потребоваться подзапросы.

0 голосов
/ 20 октября 2018

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

select avg(case when a > 2 then 1.0 else 0 end)
from t;
...