order by a.order_num 1. 2. 3. 4. 5. 再查询一下就报错 “ORA-01791: 不是 SELECTed 表达式” 网上也有人遇到类型的,具体原因是,加distinct关键字的时候,排序的字段也要查出来,所以SQL要改成如下,将a.order_num字段也查出来 select distinct a.area_seq, a.area_name, a.order_num from t_unit_...
在SELECT中未出现的列名也可用于ORDER BY 子句中,只要TABLE中有就行。 但如果SELECT子句中出现了DISTINCT关键字,则只能用出现过的列名, 而且如果SELECT子句中使用了任何运算符,在ORDER BY 子句中必须保持和SELECT子句中表达式完全一致,否则出现错误:“ORA-01791: 不是 SELECTed 表达式”。
报ORA-01791:不是SELECTed表达式 原因是order by后面的GOODID字段不在select查询结果字段之中,因为使用了distinct关键字。 解决方法 1、将此字段加入到select之后 select distinct ID,BOOKID,GOODPRICE,GOODID from hh_book_good order by GOODID; 2、如果觉得GOODID字段是多余的,实在是不想将它查询出来,可修改为...
解决方案:SELECT语句中含有DISTINCT关键字或者有运算符时,排序用的字段必须属于SELECT语句中的字段 --不是 SELECTed 表达式SELECTDISTINCTA.ID, A.TITLE, A.CONTENTFROMARTICLE AORDERBYA.CREATE_TIMEDESC;--正常SELECTDISTINCTA.ID, A.TITLE, A.CONTENTFROMARTICLE AORDERBYA.TITLEDESC; 参考博客: 不是SELECTed ...
ORA-01300: 字典 和最早的日志文件之间已启用的线程位向量不匹配 ORA-01301: dbms_logmnr.USE_COLMAP 只用于有效字典 ORA-01302: 在 logmnr.opt 文件中出现语法错误 ORA-01303: 在 logmnr.opt 文件中指定的方案 不存在 ORA-01304: 在 logmnr.opt 文件中指定的表 , 方案 不存在 ORA-01305: 在 logmnr.opt ...
ORA-00030: 用户会话 ID 不存在。ORA-00031: 标记要删去的会话ORA-00032: 无效的会话移植口令ORA- 00033: 当前的会话具有空的移植口令ORA-00034: 无法在当前 PL/SQL 会话中ORA-00035: LICENSE_MAX_USERS 不能小于当前用户数ORA-00036: 超过递归SQL() 级的最大值ORA-00037: 无法转换到属于不同服务器组的...
ORA-01785 ORDER BY 项必须是 SELECT-list 表达式的数目 ORA-01786 此查询表达式不允许 FOR UPDATE ORA-01787 每个查询块只允许有一个子句 ORA-01788 此查询块中要求 CONNECT BY 子句 ORA-01789 查询块具有不正确的结果列数 ORA-01790 表达式必须具有与对应表达式相同的数据类型 ORA-01791 不是SELECTed 表达式 ORA...
ORDERBY项必须是SELECT-list表达式的数量ORA-01786:此查询表达式不许可FORUPDATE0RA-01787:每个查询块只许可有一个子句0RA-01788:此查询块中要求CONNECTBY子句0RA-01789:查询块具有不精确的成果列数ORA-01790:表达式必须具有与对应表达式宙同的数据类型0RA-01791:不是SELECTed表达式0RA-01792:表或视图中的最大年夜...
由于Oracle是不支持自动生成主键的,不像Sql或者Mysql能自动生成。所以 需要将useGeneratedKeys设置为false,并添加selectKey标签,查询对应的自增序列id并返回,如下: <insert id="insert" useGeneratedKeys="false" keyColumn="ID" keyProperty="id"> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Lon...