gpt4 book ai didi

mysql - SQL 使用行作为列

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:42 25 4
gpt4 key购买 nike

如何转换以下内容:

+------+---------+------+
| Date | Product | Sold |
+------+---------+------+
| 1/1 | P1 | 100 |
| 1/1 | P2 | 250 |
| 1/1 | P3 | 50 |
| 2/1 | P1 | 170 |
| 2/1 | P2 | 0 |
| 2/1 | P3 | 70 |
+------+---------+------+

变成这样的表格:

+------+-----+-----+----+
| Date | P1 | P2 | P3 |
+------+-----+-----+----+
| 1/1 | 100 | 250 | 50 |
| 2/1 | 170 | 0 | 70 |
+------+-----+-----+----+

使用SQL?
我知道产品的数量(正好是 3)。

最佳答案

许多 DBMS 提供对“数据透视表”或“交叉表报告”的特定支持,但如果您的 DBMS 不支持,或者如果您更喜欢适用于各种 DBMS 的解决方案,您可以编写:

SELECT Date,
MIN(CASE WHEN Product = 'P1' THEN Sold END) AS "P1",
MIN(CASE WHEN Product = 'P2' THEN Sold END) AS "P2",
MIN(CASE WHEN Product = 'P3' THEN Sold END) AS "P3"
FROM ___insert_table_name_here___
GROUP
BY Date
;

编辑添加:您现在提到您正在使用 MySQL,它有特殊的数据透视表或交叉表支持,所以上面的查询是路要走。

关于mysql - SQL 使用行作为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9771682/

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