SQL Oracle: вывести сгруппированные подстроки определенной группы

Просьба, подсказать, как более универсально можно вывести строки группировки, допустим есть запрос

select col1, col2, col3, col4, col5 from table1

выполняю группировку:

select col1, col2, col3, sum(col5) from table1 group by  col1, col2, col3

как мне можно теперь получить строки группы где sum(col5) > n при этом в результате должны быть следующие колонки col1, col2, col3, col4, sum(col5) т.е. найти определенную группу по колонкам col1, col2, col3 и при условие вывести сгруппированные строки этой группы по колонкам col1, col2, col3, col4


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

Автор решения: Mike

С оконной функцией:

select *
  from (
    select col1, col2, col3, col4,
           sum(col5) over(partition by col1, col2, col3) as sum5
      from table1
  ) X
 where sum5 > n
→ Ссылка