【发布时间】:2019-09-07 06:52:52
【问题描述】:
所以我对 SQL 很陌生,可能没有准确地描述我想要做什么。我有一个包含三列的表,我想按一列分组,看看每组中有多少百分比在另一列中有一定的值。例如表中:
id col1 col2
----------------
0 A 1
1 A 2
2 B 2
3 B 2
4 A 1
我想按col1 进行分组,然后查看每个组(A 或B)在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;
但这不起作用。任何帮助将不胜感激!
【问题讨论】:
-
我在 Python 上使用 SQLite3
标签: sql sqlite aggregate-functions