SQL KEEP i DENSE RANK

De vegades en un llistat de la base de dades amb molts elements. La base de dades retorna més d’un valor per un mateix element, i només vols agafar el valor més nou.

La solució és utilitzar KEEP LAST:

SELECT empno,
deptno,
sal,
MIN(sal) KEEP (DENSE_RANK FIRST ORDER BY sal) OVER (PARTITION BY deptno) “Lowest”,
MIN(sal) KEEP (DENSE_RANK LAST ORDER BY sal) OVER (PARTITION BY deptno) “Highest”
FROM emp
ORDER BY deptno, sal;

Més informació  https://oracle-base.com/articles/misc/rank-dense-rank-first-last-analytic-functions

Leave a comment

Your comment