gpt4 book ai didi

sql - 有没有一种方法可以对SQL中的组执行操作?

转载 作者:行者123 更新时间:2023-12-03 17:51:32 25 4
gpt4 key购买 nike

因此,我对SQL非常陌生,可能没有准确描述我想做的事情。我有一个包含三列的表,我想按一个列分组,然后在另一列中查看每个组的百分比具有特定值。例如在表中:

id   col1  col2
----------------
0 A 1
1 A 2
2 B 2
3 B 2
4 A 1


我想按 col1分组,看看每个组( AB)在 col2中的值为1的百分比。我想要的结果是:

col1  percentage_col2_equals_1
------------------------------
A 66.7
B 0.0


到目前为止,我有:

SELECT col1,
((SELECT COUNT(*) FROM my_table
WHERE col2 = 1
GROUP BY col1) /
(SELECT COUNT(*) FROM my_table
GROUP BY col1) * 100)
FROM my_table
GROUP BY col1;


但这是行不通的。任何帮助,将不胜感激!

最佳答案

使用case when

SELECT col1,(coalesce(count(case when col2=1 then col2 end),0)*100.00)/count(*)
from tablename
group by col1

关于sql - 有没有一种方法可以对SQL中的组执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55720542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com