Oracle表里 同个人有五条数据 ,取出id值最大的那条数据:



--Oracle表里 同个人有五条数据 ,取出id值最大的那条数据:

--1:创建表:
create table a(id number(20) ,name varchar2(300) ) ;
create table b(id number(20) ,fenshu  varchar2(300),a_id number(20) ,kemu varchar2(300) ) ;


--2:插入数据
insert into a (ID, NAME) values (1, 'A');
insert into b (ID, FENSHU, A_ID, KEMU) values (1, '45', 1, 'yw');

insert into b (ID, FENSHU, A_ID, KEMU) values (2, '56', 1, 'sx');

insert into b (ID, FENSHU, A_ID, KEMU) values (3, '67', 1, 'hx');


--3:查询数据

  select  * from a ;
image
select  * from b ;
image



--4:查询最大值数据
 select *
  from (select t.*,
               --降序 max最先
               row_number() over(partition by t.a_id order by t.id desc) rn
          from b t) c
 where rn = 1;

 select  * from b ;
image
posted @ 2021-04-08 09:46  一品堂.技术学习笔记  阅读(20)  评论(0编辑  收藏