我正在尝试退回 2007 年每月订购最多的产品。我想查看产品的名称、当月订购的产品数量以及月份。我正在使用 AdventureWorks2012 数据库。我尝试了几种不同的方法,但每次都在同一个月退回多个产品订单,而不是当月订单数量最多的一种产品。对不起,如果这不清楚。我正在尝试测试自己,所以我自己提出问题并尝试回答它们。如果有人知道有这样的问题和答案的网站,那么我可以验证这将非常有帮助!谢谢你的帮助。这是我能够通过查询获得的最远距离。
WITH Ord2007Sum
AS (SELECT sum(od.orderqty) AS sorder,
od.productid,
oh.orderdate,
od.SalesOrderID
FROM Sales.SalesOrderDetail AS od
INNER JOIN
sales.SalesOrderHeader AS oh
ON od.SalesOrderID = oh.SalesOrderID
WHERE year(oh.OrderDate) = 2007
GROUP BY ProductID, oh.OrderDate, od.SalesOrderID)
SELECT max(sorder),
s.productid,
month(h.orderdate) AS morder --, s.salesorderid
FROM Ord2007Sum AS s
INNER JOIN
sales.SalesOrderheader AS h
ON s.OrderDate = h.OrderDate
GROUP BY s.ProductID, month(h.orderdate)
ORDER BY morder;