[英]How to form this sql query?
SELECT state,count(*) as regular
FROM X
group by state
这给出了一个结果
AL 10
AK 20
AZ 25
SELECT state,count(*) as regular
FROM X
where alcohol_use=TRUE
group by state
这给出了一个结果
AL 5
AK 10
AZ 20
我需要一个查询来找出百分比并为我提供类似的输出
AL 50%
AK 50%
AZ 80%
提前致谢
SELECT state,
SUM(alcohol_use=TRUE) / COUNT(*) * 100
FROM X
GROUP BY state
SUM(alcohol_use=TRUE)
表达式会加起来alcohol_use=TRUE
值,它是true
或false
,然后相应地隐式转换为1
或0
。
实现此“部分计数”的一种方法是将case
表达式与您的条件相加。 例如:
SELECT state,
SUM (CASE alcohol_use WHEN TRUE THEN 1 ELSE 0 END) / COUNT(*) as percent
FROM x
GROUP BY state
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.