Поиск максимального значения в просуммированной таблице SQL
Есть таблица с полями ID и Number. ID могут повторяться, Number - произвольные численные значения. Надо найти ID с максимальной суммой. Просуммировать я их смог, а вот как делать дальше, ума не приложу
SELECT ID, sum(Number) FROM tab1 GROUP BY ID;
Догадываюсь, что нужна совсем какая-то мелочь, но моих знаний еще не хватает даже на правильный поиск. Буду очень рад помощи.
Ответы (1 шт):
Автор решения: Skate_banana
→ Ссылка
Drawen.
Можно еще и вот так сделать:
declare @t table (id int not null, num bigint);
insert into @t
values
(1, 10),
(2, 11),
(3, 20),
(4, 7),
(5, 18),
(2, 6),
(6, 3),
(1, 6),
(3, 9),
(4, 15),
(5, 10),
(3, 22);
--оконная функция row_number()
select id, sumnum from
(
select id, sum(num) as sumnum,
row_number() over(order by sum(num) desc) as rownum
from @t
group by id
) t1
where rownum = 1