您的位置:首页 > 其它

关于row_number函数的用法

2016-07-19 15:43 232 查看
  怎么在表ceshi中由:

id               ids1          ids2     dates     types

1                11            0       2004-4-7    1

2                11            0       2005-4-4    1

3                22            0       2005-4-4    1

4                22            0       2005-4-4    1

5                22            0       2005-4-4    1

得到:

id               ids1          ids2     dates     types

1                11            0       2004-4-7    1

3                22            0       2005-4-4    1

这里可以用row_number()函数实现,对ids1分组再根据id排序

drop table ceshi purge;

create table ceshi
(
id number,
ids1 number,
ids2 number,
dates varchar2(10),
types number
);

insert into ceshi values(1,11,0,'2004-4-7',1);
insert into ceshi values(2,11,0,'2005-4-4',1);
insert into ceshi values(3,22,0,'2005-4-7',1);
insert into ceshi values(4,22,0,'2005-4-7',1);
insert into ceshi values(5,22,0,'2005-4-7',1);
select * from ceshi;
id               ids1          ids2     dates     types

1                11            0       2004-4-7    1

2                11            0       2005-4-4    1

3                22            0       2005-4-4    1

4                22            0       2005-4-4    1

5                22            0       2005-4-4    1

select * from (
select id,
ids1,
ids2,
dates,
types,
row_number() over(partition by ids1 order by id) rn
from ywk_ceshi
) where rn = 1
id               ids1          ids2     dates     types

1                11            0       2004-4-7    1

3                22            0       2005-4-4    1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: