我想在按QY和Column2分组数据后找到比率。
每季度比率=要计算的(B/(B+C))的数量,即1-2021年比率为2000/(2000+3000)=0.4。
分组数据如下:
<表类>
QY
第2栏数 tbody><<tr>1 - 2021 1000 1 - 2021 B 2000 1 - 2021 C 3000 2 - 2021 5000 2 - 2021 B 3000 2 - 2021 C 4000 表类>
使用SUM和FILTER来获取所需的记录。像这样的代码应该可以工作:
WITH table_name(q, x, y) AS (
SELECT *
FROM
(VALUES
('1-2021','A', 1000),
('1-2021','B', 2000),
('1-2021','C', 3000),
('2-2021','A', 5000),
('2-2021','B', 3000),
('2-2021','C', 4000)
)s
)
SELECT q
, ROUND(
SUM(y) FILTER(WHERE x = 'B')
/ CAST(SUM(y) AS DECIMAL)
,2) AS ratio
FROM table_name
WHERE x IN('B','C')
GROUP BY q
ORDER BY q;
CTE的存在只是为了模拟一个现有的表,只是为了测试。