Я столкнулся с двумя запросами, которые, похоже, имеют тот же результат: применение агрегатной функции в разделе.
Мне интересно, есть ли разница между этими двумя запросами:
SELECT empno,
deptno,
sal,
MIN(sal) OVER (PARTITION BY deptno) "Lowest",
MAX(sal) OVER (PARTITION BY deptno) "Highest"
FROM empl
SELECT empno,
deptno,
sal,
MIN(sal) KEEP (DENSE_RANK FIRST ORDER BY sal) OVER (PARTITION BY deptno) "Lowest",
MAX(sal) KEEP (DENSE_RANK LAST ORDER BY sal) OVER (PARTITION BY deptno) "Highest"
FROM empl
Первая версия более логична, но вторая может быть своего рода частным случаем, возможно, некоторой оптимизацией производительности.