gpt4 book ai didi

mysql - 自学问题mysql,如何使用2个表创建第3个表,该表使用原始2个表的信息

转载 作者:行者123 更新时间:2023-11-29 09:54:14 25 4
gpt4 key购买 nike

我之前问了一个问题,它帮助我创建了下表 How to get the count of unique SKU per Date, in a table in mysql (Self learning question)

SKU, COUNT, DateSold
12, 2, 1-Jan-08
11, 1, 1-Jan-08
11, 2, 2-Jan-08
11, 1, 3-Jan-08
13, 1, 3-Jan-08
11, 1, 4-Jan-08
13, 1, 5-Jan-08

使用上面的现有表格和

下面的 SKU 价格表

SKU, PRICE
11, 5.00
12, 10.00
13, 15.00

现在的问题是我如何使用这两个表来创建每天的总计,而无需手动执行,下面是我想要的表。

Day,       Total
1-Jan-08, 25.00
2-Jan-08, 10.00
3-Jan-08, 20.00
4-Jan-08, 05.00
5-Jan-08, 15.00

我在创建的 Excel 文件(数据透视表)中有类似的东西,但我希望 mysql 可以帮助我高效、更快地完成此操作。我再次对此感到陌生,这对我理解 sql 有很大帮助。这不是一项任务,我再次尝试提升我的技能。

谢谢

最佳答案

假设您从原始问题的销售数据开始,您可以通过JOIN将该表连接到您的price表(以获取价格)来获得您想要的结果每件商品的价格),然后对售出的每件商品的 PRICE 求和(因为每行只有一件商品)。我们GROUP BY Day每天获取结果:

SELECT s.DateSold AS Day, SUM(p.PRICE) AS Total
FROM sales s
JOIN price p ON p.SKU = s.SKU
GROUP BY Day

如果您想从已经聚合的数据开始,您可以稍微更改查询。在这种情况下,您每天会售出 COUNT 件商品,因此您必须SUM 该数量乘以商品的价格。

SELECT d.DateSold AS Day, SUM(d.COUNT * p.PRICE) AS Total
FROM daysales d
JOIN price p ON p.SKU = d.SKU
GROUP BY Day

输出(对于两个查询):

Day         Total
1-Jan-08 25
2-Jan-08 10
3-Jan-08 20
4-Jan-08 5
5-Jan-08 15

Demo on dbfiddle

关于mysql - 自学问题mysql,如何使用2个表创建第3个表,该表使用原始2个表的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175130/

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