Суммировать значения из столбца по условию другого столбца


Есть таблица
[![2 столбца: ИД и Значение][1]][1]

причем для каждого а всегда будет одно и тоже значение, то есть если а=5, то оно уже не поменяется, будет встречаться в таблице несколько раз. то же самое справедливо для каждого ИД. Надо найти сумму по полю VAL, но из каждой группы ID брать одно значение. то есть запрос будет такой
select sum(val) from (select distinct id, val from tab1)tmp
. Мне надо переписать запрос без подзапроса. Возможно ли это?

не загрузился рисунок, дублирую тектом:
ID | VAL
a | 5
a | 5
a | 5
b | 6
c | 5
c | 5
c | 5


Ответы (1 шт):

Автор решения: Sergey Moiseenko

Для Oracle должна работать такая конструкция:

select sum(sum(distinct VAL)) from tab1
group by ID
→ Ссылка