Этот вопрос был рассмотрен аналогичным образом до того, как я боюсь.TSQL Row_Number
мне нужно найти топ продаж N, основанные на модели покупки клиент ..
в идеале это должно быть главным N клиентом Месяц Период по годам, но сейчас я просто смотрю на верхней N по всей DB.
Мой запрос выглядит следующим образом:
-- 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
Я не могу понять, соответствующие решения, чтобы ограничить строки к = < Н.
Пожалуйста, помогите.
Ваш запрос не выглядит далеко. Номер строки будет указывать записи в каждой группе в соответствии с заказом. Затем вы можете ограничить первые две записи из каждой группы. –
Вам не нужно 'ROW_NUMBER', просто' SELECT TOP 2' с верхним уровнем 'ORDER BY' – Dai