Diese Frage wurde in ähnlicher Weise behandelt, ABER ich habe Probleme.TSQL Row_Number
I Top-N Umsatz basierend auf Kaufverhalten der Kunden ..
ideal muss dies sein Top-N durch den Kunden nach Monat Zeitraum von Jahr finden müssen, aber für jetzt bin ich einfach nur an der Spitze N über die gesamte DB.
Meine Anfrage wie folgt aussieht:
-- 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
ich nicht die Lösungen Row zu beschränken gegeben verstehen kann = < N.
Bitte helfen.
Ihre Anfrage nicht weit weg sieht. Die Zeilennummer nummeriert die Datensätze in jeder Gruppe gemäß einer Bestellung. Sie können dann auf die ersten beiden Datensätze aus jeder Gruppe beschränken. –
Sie brauchen nicht 'ROW_NUMBER', nur' SELECT TOP 2' mit einem TOP-Level 'ORDER BY' – Dai