oracle排序的几种方法

时间:2022-12-30 19:24:38

 

1.创建数据库表

CREATE TABLE USER_INFO
(
  USERID      VARCHAR2(10 BYTE)                 NOT NULL,
  USERNAME    VARCHAR2(20 BYTE)                 NOT NULL,
  USERAGE     VARCHAR2(3 BYTE),
  USERADRESS  VARCHAR2(255 BYTE),
  USERSEX     VARCHAR2(4 BYTE)                  NOT NULL
)

2.初始化数据

Insert into USER_INFO
   (USERID, USERNAME, USERAGE, USERSEX)
 Values
   ('1', '小红', '12', '女');
Insert into USER_INFO
   (USERID, USERNAME, USERAGE, USERSEX)
 Values
   ('3', '小明', '11', '男');
Insert into USER_INFO
   (USERID, USERNAME, USERAGE, USERSEX)
 Values
   ('2', '小兰', '11', '女');
Insert into USER_INFO
   (USERID, USERNAME, USERAGE, USERSEX)
 Values
   ('4', '小刚', '13', '男');
COMMIT;

3.查询

  3.1使用order by查询

  select rownum rn ,a.* from USER_INFO a order by A.USERAGE desc;

  查询结果oracle排序的几种方法

  此时rn是乱序的,这种排序适用于取全部查询结果列表

  3.2使用row_number()over(order by 列名 desc)查询

  select row_number()over(order by a.userage desc)rn , a.* from USER_INFO a ;

  查询结果oracle排序的几种方法

  此时rn是有序的,这种排序适用于查询某一段的值,比如第3-5条数据。