AdventureWorks2012: Sql 顧客ごとに、2007 年に作成された注文の数を決定します。顧客が 2004 年に注文を作成していない場合、その顧客には 0 を表示します。表示: 顧客 ID、2007 年に作成された注文の数。
質問する
421 次
1 に答える
0
私の他の回答と同じアプローチ - CTE (Common Table Expression) を使用して、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 に答える