Как вывести всех сотрудников с максимальным бонусом за каждый месяц?
У меня есть таблица:
id_prem id_emp months premium
1 1 2016-01-01 00:00:00.000 3000
3 1 2016-01-01 00:00:00.000 2000
5 1 2016-03-01 00:00:00.000 3000
6 1 2016-01-16 00:00:00.000 3000
8 1 2016-01-11 00:00:00.000 2000
7 2 2016-02-14 00:00:00.000 5000
2 2 2016-02-01 00:00:00.000 5000
4 3 2016-02-01 00:00:00.000 1000
9 3 2016-02-09 00:00:00.000 1000
Необходимо суммировать бонус каждого сотрудника в каждом месяце и получить максимальный бонус В результате получают только те сотрудники, которые имеют максимальный бонус в каждом месяце
Мой запрос:
SELECT id_emp, mon, MAX(sum_prem) as max_premium
FROM(SELECT id_emp, month(months) as mon, SUM(premium) as sum_prem FROM Employee.Emp_prem
GROUP BY id_emp, month(months))as t
GROUP BY id_emp, mon
Результат:
id_emp mon max_premium
1 1 10000
2 2 10000
3 2 2000
1 3 3000
Это не тот результат.
Мне нужно в результате отображать только максимальный бонус за каждый месяц.