ORACEL学习--理解over()函数
发布日期:2025-04-29 09:26:17 浏览次数:11 分类:精选文章

本文共 2397 字,大约阅读时间需要 7 分钟。

SQL???OVER???????

?SQL???????ORDER BY??OVER???????????????????????????????OVER?????????????????????????????????????????????????OVER?????????????

1.1 ?????ORDER BY?????

?SQL??ORDER BY?????????????????????????????????????????

SELECT column1, column2FROM tableORDER BY column1 ASC, column2 DESC;

ORDER BY???????????????????????????ASC?DESC???????

a) ???????
SELECT ename, salFROM empWHERE deptno = 10ORDER BY sal ASC;
b) ???????
SELECT ename, sal, deptnoFROM empWHERE deptno = 10ORDER BY deptno ASC, sal DESC;

?????????????????????????????????????????????????


1.2 ????????????

??????????????????PARTITION BY????????????????????????????PARTITION BY????????????????????????

?????????
SELECT column1, column2FROM tablePARTITION BY columnA, columnBORDER BY columnC ASC;
?????????

??????????????????????????????????????????????????????????

SELECT deptno, last_value(sal) over(partition by deptno order by sal) as max_salFROM empGROUP BY deptno;

??????GROUP BY?OVER??????????????????????


1.3 OVER?????????

OVER?????SELECT????????????????????????????????????????????????

OVER???????
SELECT column1, column2FROM tableWHERE conditionOVER (    partition by columnA, columnB    order by columnC ASC);
OVER?????????
  • ?????
  • SELECT deptno, empno, ename, sal, last_value(sal) over(partition by deptno) as max_salFROM empWHERE deptno = 30;
    1. ?????
    2. SELECT deptno, empno, ename, sal, min(sal) over(partition by deptno) as min_salFROM empWHERE deptno = 30;
      1. ???????
      2. SELECT deptno, empno, ename, sal, last_value(sal) over(partition by deptno order by sal desc) as max_salFROM empWHERE deptno = 30ORDER BY mgr desc;

        2. OVER???????

        ???????OVER???????????????????????

      3. ??????

        OVER?????????????????????????????????

      4. ???????

        ???OVER???????????????????????????

      5. ??????????

        OVER?????GROUP BY?????????????????????


      6. 3. OVER???????

        ???OVER???????????????

      7. ???????

        OVER????????ORDER BY??????????????????????????

      8. ??????

        OVER?????????????????????????????

      9. ????

        ?????OVER????????????????????


      10. 4. OVER???????

        ??1?????????

        SELECT deptno, last_value(sal) over(partition by deptno order by sal) as max_salFROM empGROUP BY deptno;

        ??2????????????

        SELECT deptno, empno, ename, sal, last_value(sal) over(partition by deptno order by sal desc, empno asc) as max_salFROM empWHERE deptno = 30;

        ??3???????

        SELECT deptno, min(sal) over(partition by deptno) as min_salFROM empGROUP BY deptno;

        ???????????OVER??????????????????????????????????????SQL?????????

    上一篇:ORAchk-数据库健康检查
    下一篇:【docker知识】联合文件系统(unionFS)原理

    发表评论

    最新留言

    能坚持,总会有不一样的收获!
    [***.219.124.196]2026年06月15日 00时44分00秒