关于order by中查询关键字怎么显示一次

[复制链接]
查看11 | 回复5 | 2007-7-4 17:27:50 | 显示全部楼层 |阅读模式
本帖最后由 ORA_MISA 于 2013-10-25 19:03 编辑
如何实现例如EXCEL中分类汇总的效果例如:select deptno,ename from emp order by deptno;
DEPTNO ENAME
---------- ------------------------------
10 CLARK
10 KING
10 MILLER
20 JONES
20 FORD
20 ADAMS
20 SMITH
20 SCOTT
30 WARD
30 TURNER
30 ALLEN

怎么实现这个效果:
DEPTNO ENAME
---------- ------------------------------
10 CLARK

KING

MILLER
20 JONES

FORD

ADAMS

SMITH

SCOTT
30 WARD

TURNER

ALLEN



回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层

非常老的问题了!
select decode(row_number() over(partition by deptno order by ename), 1, deptno, null) deptno,

ename
from emp;

回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
select
decode(row_number() over (partition by DEPTNO order by 1), 1, DEPTNO) DEPTNO
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
sqlplus
break on
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
本帖最后由 oracle_cj 于 2013-10-25 20:34 编辑
还可以用分析函数lag
(casewhen deptno =lag(deptno ,1,-1)
over (partition by deptno order by ename )then null else deptno end )deptno
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
bell6248 发表于 2013-10-25 19:16
非常老的问题了!
select decode(row_number() over(partition by deptno order by ename), 1, deptno ...

感谢、感谢,新手学习,多谢指教
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行