我遇到一个实践问题,我要写一个查询来从数据库中查找2005年利润最高的15%产品。该数据库不具有“ Saleprice或Purchaseprice”之类的属性。它具有诸如PUrchaseProductDetails或SalesOrderDetails之类的表,以及具有单价,订单量,ProdID,LIstPrice,ActualCost,StandardPrice等属性的其他东西。我对应该使用哪个公式以及如何提出公式感到困惑。我试图编写查询,但是得到了无限运行的结果。

SELECT A.ProdID, B.ProdID, A.Unitprice - (B.Unitprice * orderquantity) Profit
FROM SalesOrderDetails A join PurchaseOrderD B
ON A.ProdID = B.ProdID
WHERE year(DateOrdered) = 2005
Group by A.ProdID


我已经花了几个小时来处理这些类型的问题,现在我的大脑已经死胡同了。如果有人可以指导我以正确的方式进行操作,那将对我有很大帮助。

最佳答案

SELECT sale.ProdID, sum(sale.Unitprice - buy.Unitprice) * sale.Qty AS profit
FROM SalesOrderDetails AS sale
JOIN PurchaseOrderD AS buy ON ...
WHERE year(...) = 2005
GROUP BY 1
ORDER BY 2 DESC
LIMIT 15

关于mysql - 如何在MySQL中查询特定年份利润最高的商品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41733209/

10-11 10:49