准备:
1.表
create table ZZTEST
(
ID NUMBER not null,
SERVICE_TPYEID VARCHAR2(22),
TOTALPRICE NUMBER
);
alter table ZZTEST
add constraint TEST_PK primary key (ID)
using index
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
2.数据,其中三条记录的service_tpyeid是一样的值,通过该字段进行分组并按totalprice排序
执行查询
select t.*, row_number() over(partition by t.service_tpyeid order by t.totalprice) r from zztest t;
查询的结果如下
在结果集中即可自由选择需要的某条,如
select * from (select t.*, row_number() over(partition by t.service_tpyeid order by t.totalprice) r from zztest t) a where r=1;
将得到id=1的记录
也可使用 order by t.totalprice desc进行倒序排序,结果如下
可以看到,r=1的id已经变为3了