当前位置:   article > 正文

oracle查询结果倒序排列,ORACLE使用row_number() over(...)对查询数据进行分组并排序...

oracle。rownum 为啥是倒叙

准备:

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排序

10b9dde335eb057f56e36f1e7ea98024.png

执行查询

select t.*, row_number() over(partition by t.service_tpyeid order by t.totalprice) r from zztest t;

查询的结果如下

530d60da612c302aaf6261198c5c8bcc.png

在结果集中即可自由选择需要的某条,如

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进行倒序排序,结果如下

42983faeb29afc010974943873d4a2a1.png

可以看到,r=1的id已经变为3了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/268573
推荐阅读
相关标签
  

闽ICP备14008679号