我正在尝试找出某个产品(产品HHYDP)订单最多的月份。到目前为止,这是我的代码,但是每次尝试使用与问题相关的GROUP BY和SORT BY函数时,都会出现错误。数据库中有三年(2006,2007,2008),格式为(YYYY-MM-DD)。我试图找出三年中哪个月份的总订单量最高,数量无关紧要。
SELECT p.productname, o.orderdate
FROM [Sales].[Orders] as o
JOIN [Sales].[OrderDetails] as od
ON o.orderid = od.orderid
JOIN [Production].[Products] as p
ON od.productid = p.productid
WHERE p.productname like '%hhydp%'
我正在使用Microsoft SQL管理服务器。
答案 0 :(得分:2)
您可以尝试将year
和month
与COUNT
聚合函数一起使用,并将它们添加到group by
SELECT p.productname,
year(o.orderdate) yr,
month(o.orderdate) mn,
COUNT(*) cnt
FROM [Sales].[Orders] as o
JOIN [Sales].[OrderDetails] as od
ON o.orderid = od.orderid
JOIN [Production].[Products] as p
ON od.productid = p.productid
WHERE p.productname like '%hhydp%'
GROUP BY p.productname, year(o.orderdate) ,month(o.orderdate)