break on deptno skip 1

来源:互联网 发布:mysql异地容灾方案 编辑:程序博客网 时间:2024/05/16 18:04

SQL> break on deptno skip1   以deptno为标志,分组后隔行显示
SQL> select deptno,ename,sal from emp order bydeptno,sal desc;

    DEPTNOENAME     SAL
---------- ---------- ----------
 10 KING    5000
   CLARK    2450
   MILLER    1300

 20SCOTT    3000
    FORD    3000
   JONES    2975
   ADAMS    1100
   SMITH     800

 30BLAKE    2850
   ALLEN    1600
   TURNER    1500
   MARTIN    1250
    WARD    1250
   JAMES     950


14 rows selected.

会有人问了,我想把空行去了怎么办,我想你懂得,把1换成0就好了吗!
SQL> break on deptno skip0   去掉空行
SQL> select deptno,ename,sal,row_number()over(partition by deptno order by sal desc) drn from emp;

    DEPTNOENAME   SAL     DRN
---------- --------------- ---------- ----------
 10 KING   5000       1
   CLARK  2450       2
   MILLER  1300       3
 20 SCOTT  3000       1
    FORD  3000       2
   JONES  2975       3
   ADAMS  1100       4
   SMITH   800       5
 30 BLAKE  2850       1
   ALLEN  1600       2
   TURNER  1500       3
   MARTIN  1250       4
    WARD  1250       5
   JAMES   950       6

14 rows selected.