oracle排序子句的特殊写法与ORA-01785错误
刚刚写的SQL语句在执行的时候报【ORA-01785: ORDER BY item must be the number of a SELECT-list expression】错误,于是自己百度了一下相关错误,发现是和Oracle排序语句的特殊写法有关系,这里记录一下。
先不说错误的问题,我们先用常规的写法写一句带排序子句的SQL语句。
SELECT ID, CODE, NAME FROM STUDENT ORDER BY CODE;
这样写是能够正常执行的。
然后说一下排序子句的特殊写法。特殊的写法就是在ORDER BY排序子句中,可以用数字(相当于下标 + 1)代替要用来排序的字段。比如说上面的SQL语句,用来排序的字段是CODE,它在前面的SELECT子句的字段中排第二位,那么就可以用数字2来代替它。
SELECT ID, CODE, NAME FROM STUDENT ORDER BY 2;
这样查询出来的结果和上面的语句查询出来的结果是一样的。
然后我们来做个试验,把ORDER BY子句中的数字改成4试一下,这时数字4在前面的SELECT子句中是没有对应的字段的,因为SELECT子句中只有三个字段。
SELECT ID, CODE, NAME FROM STUDENT ORDER BY 4;
不出意料的,报ORA-01785的错误了。

到这里我们就可以明白,这个错误是因为ORDER BY子句中的数字代表的字段位数超出SELECT子句中的字段个数引起的。意思就是说,当SELECT子句中的字段有5个,那么ORDER BY子句中的数字就不能大于5,范围区间是[1,5]。
当然,也可以进行多个字段排序和升序降序排序的。
SELECT ID, CODE, NAME FROM STUDENT ORDER BY 2 DESC, 3;
看到这里,当下次遇到ORA-01785错误的时候,聪明的你就知道怎么解决啦。
"夕阳无限好,只是近黄昏。"
oracle排序子句的特殊写法与ORA-01785错误的更多相关文章
- Oracle分页查询语句的写法(转)
Oracle分页查询语句的写法(转) 分页查询是我们在使用数据库系统时经常要使用到的,下文对Oracle数据库系统中的分页查询语句作了详细的介绍,供您参考. Oracle分页查询语句使我们最常用的 ...
- Oracle Fetch子句
Oracle Fetch子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,将学习如何使用Oracle FETCH子句来限制查询返回的行数. ...
- Oracle存储过程中跳出循环的写法
注:本文来源于: < Oracle存储过程中跳出循环的写法 > Oracle存储过程中跳出循环的写法 记录exit和return的用法 1:exit用来跳出循环 loop IF V_ ...
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...
- ORDER BY排序子句
10.ORDER BY排序子句 用于指定将查询结果排序的字段. //查询emp表所有记录,结果按ename升序排列 select empno,ename from emp or ...
- Oracle Like子句
Oracle Like子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,您将学习如何使用Oracle LIKE运算符来测试列中的值是否与指定 ...
- Oracle Between子句
Oracle Between子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,您将学习如何使用Oracle BETWEEN运算符来选择值在一 ...
- Oracle In子句
Oracle In子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,您将学习如何使用Oracle IN运算符来确定值是否与列表或子查询中的任 ...
- Oracle Or子句
Oracle Or子句 作者:初生不惑 Oracle基础 评论:0 条 Oracle技术QQ群:175248146 在本教程中,我们来学习如何使用Oracle OR运算符来组合两个或更多的布尔表达式. ...
随机推荐
- Bag of Tricks for Image Classification with Convolutional Neural Networks
这篇文章来自李沐大神团队,使用各种CNN tricks,将原始的resnet在imagenet上提升了四个点.记录一下,可以用到自己的网络上.如果图片显示不了,点击链接观看 baseline mode ...
- 使用JaCoCo Maven插件创建代码覆盖率报告
这篇博客文章描述了我们如何使用JaCoCo Maven插件为单元和集成测试创建代码覆盖率报告. 我们的构建要求如下: 运行测试时,我们的构建必须为单元测试和集成测试创建代码覆盖率报告. 代码覆盖率报告 ...
- C# 通过反射调用 Func 委托
C# 通过反射调用 Func 委托 Intro 最近我的 NPOI 扩展库增加了,自定义输出的功能,可以自定义一个 Func 委托来设置要导出的内容,详细介绍请查看 https://www.cnblo ...
- Web前端—— JQuery迷你版实现以及使用
JQuery迷你版实现以及使用 tiny_jquery.js var $ = function (selector) { var ele = document.querySelector(select ...
- Nagios 钉钉报警
第一章 创建钉钉应用(用于发送报警信息给单独某个用户) 打开钉钉管理后台: https://oa.dingtalk.com 创建成功后需要记录三个值"AgentID"," ...
- centos 7 搭建Samba
一.Samba简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,由客户端和服务端构成. SMB(Server Message Block的缩写,即服务器消息块)主要是作 ...
- CSS3 盒模型---css初始化会用到:box-sizing: border-box 盒子大小为 width 就是说 padding 和 border 是包含到width里面的
CSS3中可以通过box-sizing 来指定盒模型,即可指定为content-box.border-box,这样我们计算盒子大小的方式就发生了改变. 可以分成两种情况: 1.box-sizing: ...
- 微信语音短消息amr文件转WAV
- amr说明 - 转WAV程序 我对SILK编码库稍作修改,编译了一个Windows下可直接将SILK V3编码转换为WAV格式,并支持原生的微信语音短消息amr文件的版本,提供给大家使用,压缩包( ...
- Hystrix工作流
Hystrix工作流程图: 流程图详解 1. 构造HystrixCommand对象或者HystrixObservableCommand对象 构造HystrixCommand 或HystrixObser ...
- 数据库报ORA-12514
Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently ...