我之前问了一个问题,它帮助我创建了下表 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
关于mysql - 自学问题mysql,如何使用2个表创建第3个表,该表使用原始2个表的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175130/