寻找客户订购特定产品的最受欢迎月份

时间:2018-11-03 04:59:00

标签: sql sql-server

我正在尝试找出某个产品(产品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管理服务器。

1 个答案:

答案 0 :(得分:2)

您可以尝试将yearmonthCOUNT聚合函数一起使用,并将它们添加到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)