Приветствие всем. У меня есть база данных экспресс-SQL 2008, позволяет имя является tbl_Merchant, подобно тому, как следующее:SQL Top 10 Sales Every Month
Merchant | Sales | Month
Comp.1 100 1
Comp.2 230 1
Comp.3 120 1
Comp.1 200 2
Comp.2 130 2
Comp.3 240 2
Comp.1 250 3
. . .
. . .
. . .
Мне нужно найти торговца 10 топ с продаж каждый месяц в течение 12 месяцев.
Очень легко, если это всего лишь один месяц.
SELECT TOP 10
Merchant,
Sales,
Month
FROM tbl_Merchant
WHERE Month = 1
ORDER BY Sales DESC
Но я застрял, если захочу найти их более 12 месяцев. Мне нужно отобразить 120 продавцов, которые являются топ-10 продавцами каждого месяца. В настоящее время мое решение состоит в объединении 12 таблиц с 1 по 12 месяцев, но я не думаю, что это хороший способ.
Может ли любой любезно дать мне какое-либо предложение?
спасибо.
Какой SQL (MySQL, Oracle, PostgreSQL, SQLServer и т. Д.) Вы используете? –
@MarkBannister: 'TOP 10' указывает SQL Server или Sybase (оба' T-SQL') –
Я использую MS SQL. – DragonZelda