欢迎光临
我们一直在努力

排序Oracle数据库多个字段排序实现方法(oracle多个字段)

排序Oracle数据库多个字段排序实现方法

Oracle数据库中, 当数据表的字段很多的情况下,想要进行排序时,只需按照步骤使用正确的语法,就可以实现排序。实现多个字段排序,有以下两种排序方式, 即:基于ORDER BY 和基于ROW_NUMBER()分析函数。下面我们就一一介绍:

(1)基于ORDER BY 的排序

主要通过order by 子句进行多个字段排序,通过该子句指定要排序字段,用逗号“,“分割,写法如下:

ORDER BY 字段1, 字段2, ……

下面给出一个例子, 首先从表READ_INFO中查出ID和S_NAME字段,然后按照S_NAME的的字母顺序,以及ID的数值降序排列。

SQL语句如下:

SELECT ID, S_NAME FROM READ_INFO ORDER BY S_NAME, ID desc;

(2)基于ROW_NUMBER()分析函数排序

在查询多个字段排序时,可以使用ROW_NUMBER()分析函数进行排序,函数在每行添加一列,显示结果的行号,语法格式如下:

ROW_NUMBER() OVER([PARTITION BY 分组字段]ORDER BY 排序字段[ASC/DESC])

下面给出一个例子, 首先从表READ_INFO中查出ID和S_NAME字段,然后按照S_NAME的的字母顺序,以及ID的数值降序排列。

SQL语句如下:

SELECT ID, S_NAME FROM (SELECT ROW_NUMBER() OVER (ORDER BY

S_NAME, ID desc) ROWNUMBER, ID, S_NAME FROM READ_INFO) T

WHERE ROWNUMBER > 0 ORDER BY ROWNUMBER

通过上述两种方式,就可以实现多个字段排序了。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。