gpt4 book ai didi

mysql - SQL:添加与另一个 ProductID 一起购买的特定 ProductID

转载 作者:行者123 更新时间:2023-11-29 19:06:13 25 4
gpt4 key购买 nike

MSORDERLINE

enter image description here

我正在尝试查找哪些产品的附加成分最多(糖浆、浓缩咖啡等)。我该怎么做?我可以找到个人销售情况,但如何在咖啡饮料中添加浓缩咖啡?

Select p.ProductName, TotalADDON = SUM(Quantity)
From MSProducts p, MSOrderline o
where p.ProductID = o.ProductID
Group By p.ProductName

这是我想出的最好的方法,但它将单独购买的每杯咖啡与附加产品相加。附加产品 ID 为 1444 和 1445。任何帮助或演练将不胜感激!

我正在寻找的结果是......

产品ID TotalAddOn

1451___________ 1

1452___________ 0

1453___________ 0

1461___________ 0

1462___________ 0

1463___________ 0

1471___________ 0

1472___________ 0

1473___________ 0

1481___________ 6

1482___________ 0

1483___________ 0

1491___________ 0

1492___________ 0

1493___________ 2

当然还有更多数据,但是有了给定的数据,这就是结果。

最佳答案

对于每种产品,您似乎想要与订单中其他产品的总数相关的信息。

您可以通过以下方式获取每个订单的信息:

select p.purchaseId, p.productId, sum(o.quantity) as otherQuantity
from MSProducts p join
MSOrderline o
on p.PurchaseId = o.PurchaseId and
p.ProductId <> o.ProductId
group by p.purchaseId, p.productId;

然后,如果您想要每个订单的平均值,这里有一种方法:

select productId, avg(otherQuantity) as avgOthers, count(*) as numOrders
from (select p.purchaseId, p.productId, sum(o.quantity) as otherQuantity
from MSProducts p join
MSOrderline o
on p.PurchaseId = o.PurchaseId and
p.ProductId <> o.ProductId
group by p.purchaseId, p.productId
) pp
group by productId;

关于mysql - SQL:添加与另一个 ProductID 一起购买的特定 ProductID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43483574/

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