gpt4 book ai didi

python - 使用一列不同行中的值作为不同列中的值,但只有一行

转载 作者:行者123 更新时间:2023-11-28 20:57:35 27 4
gpt4 key购买 nike

是否可以对行进行分组并将每一行的一个值用于不同的自定义列?

原始表格:

ID      Tax        Amount
--------------------------
1 21% 33,40
1 10% 15,30
1 4% 1,32
2 21% 12,43
2 10% 4,20

所需的表:

ID     Tax 21%     Tax 10%     Tax 4%
--------------------------------------
1 33,40 15,30 1,32
2 12,43 4,20 0,00

你会怎么做?提前致谢。

最佳答案

您可以尝试使用条件聚合函数,MAXCASE WHEN

CREATE TABLE T(
ID INT,
Tax VARCHAR(50),
Amount FLOAT
);


INSERT INTO T VALUES (1,'21%',33.40);
INSERT INTO T VALUES (1,'10%',15.30);
INSERT INTO T VALUES (1,'4%',1.32);
INSERT INTO T VALUES (2,'21%',12.43);
INSERT INTO T VALUES (2,'10%',4.20);

查询 1:

SELECT ID,
MAX(CASE WHEN Tax = '21%' THEN Amount ELSE 0 END) "Tax 21%",
MAX(CASE WHEN Tax = '10%' THEN Amount ELSE 0 END) "Tax 10%",
MAX(CASE WHEN Tax = '4%' THEN Amount ELSE 0 END) "Tax 4%"
FROM T
GROUP BY ID

Results :

| id | Tax 21% | Tax 10% | Tax 4% |
|----|---------|---------|--------|
| 1 | 33.4 | 15.3 | 1.32 |
| 2 | 12.43 | 4.2 | 0 |

关于python - 使用一列不同行中的值作为不同列中的值,但只有一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52669737/

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