這個問題已經被類似的介紹過了,但是我很掙扎。TSQL Row_Number
我需要找到根據客戶的購買模式前N個銷售..
理想這需要由客戶前N個由個月的時間由一年,但現在我只是在整體看前N D B。
我的查詢是這樣的:
-- QUERY TO SHOW TOP 2 CUSTOMER INVOICES BY CUSTOMER BY MONTH
SELECT
bill_to_code,
INVOICE_NUMBER,
SUM(INVOICE_AMOUNT_CORP) AS 'SALES',
ROW_NUMBER() OVER (PARTITION BY bill_to_code ORDER BY SUM(INVOICE_AMOUNT_CORP) DESC) AS 'Row'
FROM
FACT_OM_INVOICE
JOIN dim_customer_bill_to ON FACT_OM_INVOICE.dim_customer_bill_to_key = dim_customer_bill_to.dim_customer_bill_to_key
--WHERE
-- 'ROW' < 2
GROUP BY
invoice_number,
Dim_customer_bill_to.bill_to_code
我無法理解給定的限制行= < N.
請幫忙解決方案。
您的查詢看起來並不遙遠。行號將根據訂單對每個組中的記錄進行編號。然後,您可以限制每組的前兩條記錄。 –
你不需要'ROW_NUMBER',只需要'SELECT TOP 2'頂級'ORDER BY' – Dai