我有 2 个查询使用同一个表:总计,我需要评估结果的百分比。 (Postgres 9.4)
SELECT COUNT(*) FROM total
SELECT COUNT(*) FROM total WHERE field1 = False
示例:
- 总计数没有过滤器返回 100 行
- Total with field1 = False 返回 10 行。
我需要获得 10%,即满足特定条件的百分比。 100/10 在 SQL 中计算此条件的最佳方法是什么?
SELECT * FROM (
SELECT COUNT(*) FROM total /
SELECT COUNT(*) FROM total WHERE field1 = False )
最佳答案
SELECT COUNT(CASE
WHEN field1=false THEN 1
END) / COUNT(*)*100 AS percentage
FROM table
您可以使用 case 表达式进行条件聚合
关于SQL 计数操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49951355/