Sql 百分比值的计算

Sql 百分比值的计算,sql,percentage,Sql,Percentage,我想通过sql计算大于阈值的值的百分比,如excelCOUNTIF/COUNT 谢谢你的帮助 您可以使用avg和case: 另一个没有AVG的解决方案,使用子查询 在此处运行它: 请注意,此解决方案更复杂,但更灵活。AVG总是除以整个集合的计数,但是对于子查询,您拥有完全的控制权。在这种情况下,AVG是完美的,但在其他情况下,可能需要子查询 select avg(case when a > 2 then 1.0 else 0 end) from t; SELECT NumberOfVa

我想通过sql计算大于阈值的值的百分比,如excelCOUNTIF/COUNT

谢谢你的帮助

您可以使用avg和case:

另一个没有AVG的解决方案,使用子查询

在此处运行它:

请注意,此解决方案更复杂,但更灵活。AVG总是除以整个集合的计数,但是对于子查询,您拥有完全的控制权。在这种情况下,AVG是完美的,但在其他情况下,可能需要子查询

select avg(case when a > 2 then 1.0 else 0 end)
from t;
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;