AdventureWorks2012:Sql 对于每个客户,确定 2007 年创建的订单数。如果客户在 2004 年没有创建任何订单,则为该客户显示 0。显示:客户 ID,2007 年创建的订单数。
问问题
421 次
1 回答
0
与我的其他回复相同的方法 - 使用 CTE(通用表表达式)来确定 2007 年每个客户的销售数量:
-- determine the number and total of all sales in 2007
;WITH SalesPerCustomer AS
(
SELECT
c.CustomerID,
NumberOfSales = ISNULL(COUNT(soh.SalesOrderID), 0)
FROM
Sales.Customer c
INNER JOIN
Sales.SalesOrderHeader soh ON soh.CustomerID = c.CustomerID
AND soh.OrderDate >= '20070101'
AND soh.OrderDate < '20080101'
GROUP BY
c.CustomerID
)
SELECT
CustomerID ,
NumberOfSales
FROM
SalesPerCustomer
ORDER BY
NumberOfSales DESC
按销售额降序排列输出,因此您将首先获得销售额最多的客户
于 2013-03-29T12:03:39.280 回答