如何在MySQL中查询特定年份中最赚钱的项目

时间:2017-01-19 03:28:31

标签: mysql sql database

我有一个实践问题,我要编写一个查询,从数据库中查找2005年最赚钱的15%产品。数据库没有" Saleprice或Purchaseprice"等属性。它有像PUrchaseProductDetails或SalesOrderDetails这样的表,以及Unitprice,orderquantity,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

我花了好几个小时研究这类问题,现在我的大脑处于死胡同状态。如果有人可以指导我以正确的方式去做,那真的会帮助我。

1 个答案:

答案 0 :(得分:0)

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