gpt4 book ai didi

mysql - 获取最畅销的产品复杂的sql

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

表结构:

订单 OrderID、OrderStatusID、……
订单详细信息 ODID、ODProductID、ODProductQty、ODOrderID
产品 产品ID、产品名称...

到目前为止我的 SQL:

SELECT * FROM Products 
INNER JOIN OrderDetails ON Products.ProductID = OrderDetails.ODProductID
INNER JOIN Orders ON OrderDetails.ODOrderID = Orders.OrderID
where Orders.OrderStatusID = '5'

OrderStatusID 必须为 5(对于已交付订单)。

我只想结果是最畅销产品的 ProductName 和 NoOfProducts。

可以像销量排名前 4 的产品一样。

最佳答案

您必须按产品和聚合进行分组。
然后根据已售产品数量对结果进行降序排序,并将结果限制为 4 个产品:

SELECT p.ProductID, p.ProductName, COUNT(DISTINCT d.ODID) NoOfProducts 
FROM Products p
INNER JOIN OrderDetails d ON p.ProductID = d.ODProductID
INNER JOIN Orders o ON d.ODOrderID = o.OrderID
WHERE o.OrderStatusID = '5'
GROUP BY p.ProductID, p.ProductName
ORDER BY NoOfProducts DESC
LIMIT 4

关于mysql - 获取最畅销的产品复杂的sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58788113/

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