oracle sql笔记

来源:互联网 发布:hr软件inuoji 编辑:程序博客网 时间:2024/06/08 09:56



row_number()和rownum差不多,功能更强一点(可以在各个分组内从1开始排序)

rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内)
dense_rank()也是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的


rownum是逻辑上的编号,且其值总是从1开始,每行的rounum不是固定的。


create table aaa as select * from bbb 这样的效果如sqlserver 的select into 

分页1.
select *
from t
where rownum <=5
minus
select *
from t
where rownum <=2; 分页2.select b.* from (select a.*,rownum  as rfrom test1 awhere rownum <=5) b where b.r>2删除重复:Delete from test3 a where rowid != (select  max(rowid) from  test3 b where b.ddate=a.ddate );选取非重复的
select ID,NAME,ADDRESS,PHONE,LOGDATE
from 
(
select t.*,row_number()over(partition by name order by name) rn
from t
)
where rn = 1;

行 转列
http://blog.sina.com.cn/s/blog_5c4736800100l2qw.html
wmsys.wm_concat

0 0