gpt4 book ai didi

sqlite - 如何按列组计算百分比

转载 作者:行者123 更新时间:2023-12-03 15:05:24 25 4
gpt4 key购买 nike

我无法编写查询来通过对列进行分组来计算百分比。

Itemname,value
A,3
B,2
A,7
B,8

输出应该是
itemname,value,percentage
A,3,30
A,7,70
B,2,20
B,8,80

百分比是按项目名称(例如 A)分组计算的。

最佳答案

试试这个:

CREATE TABLE my_tab (
Itemname VARCHAR(1),
value INT
);

INSERT INTO my_tab VALUES ('A', 3);
INSERT INTO my_tab VALUES ('B', 2);
INSERT INTO my_tab VALUES ('A', 7);
INSERT INTO my_tab VALUES ('B', 8);

SELECT
mt.itemname,
mt.value,
mt.value * 100 / agg.value_sum AS percentage
FROM
my_tab mt
JOIN (SELECT
itemname,
SUM(value) AS value_sum
FROM my_tab
GROUP BY itemname
) agg ON (mt.itemname = agg.itemname)
;

查看 SQLFiddle: SQLFiddle Example

输出:

项目名称值百分比
一个 3 30
一个 7 70
乙 2 20
乙 8 80

关于sqlite - 如何按列组计算百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19832215/

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