`
小杨学JAVA
  • 浏览: 884408 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于oracle select distinct order by的问题

 
阅读更多

转:http://blog.csdn.net/yangwawa19870921/article/details/7827724

原来:SELECT语句中含有DISTINCT关键字或者有运算符时,排序用字段必须与SELECT语句中的字段相对应。

网上搜到解释如下:

在ORDER BY中指定多个列,结果将先按照子句中的第一列排序,然后第二个,依此类推。

在SELECT中未出现的列名也可用于ORDER BY 子句中,只要TABLE中有就行。

但如果SELECT子句中出现了DISTINCT关键字,则只能用出现过的列名,

而且如果SELECT子句中使用了任何运算符,在ORDER BY 子句中必须保持和SELECT子句中表达式完全一致,否则出现错误:“ORA-01791: 不是 SELECTed 表达式”。

 

 

如果想按照id排序,而又使name不重复,可用以下sql语句:

SELECT distinct name, min(id) as b FROM Share_URL_Seeds where Type=1 group by name order by b;

分享到:
评论

相关推荐

    oracle函数介绍(6) 著名函数之分析函数.doc

    SELECT col, AVG(value) FROM tmp1 GROUP BY col ORDER BY col; --分析函数 SELECT col, AVG(value) OVER(PARTITION BY col ORDER BY col) FROM tmp1 ORDER BY col; 2、SUM ( [ DISTINCT | ALL ] expr ) OVER ( ...

    Oracle练习笔试大全

    59、select avg(sal) from emp where sal >1200 group by deptno having avg(sal) >1500 order by avg(sal) desc;//求出sal>1200的平均值按照deptno分组,平均值要>1500最后按照sal的倒序排列 60、select ename,sal...

    oracle数据库经典题目

    ORDER BY C. WHERE D. GROUP BY 11. 查询一个表的总记录数,可以采用_________统计函数。( C ) A. AVG(*) B. SUM(*) C. COUNT(*) D.MAX(*) 12. 要建立一个语句向Types表中插入数据,这个表只有两列,T_ID和T_...

    oracle练习2,含答案

    --1、 查询Student表中的所有记录的Sname、Ssex和Class列。...select * from student order by class desc; --8、 以Cno升序、Degree降序查询Score表的所有记录。 select * from score order by cno,degree desc;

    最全的oracle常用命令大全.txt

    SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper('&index_name'); 查看索引的大小 ...

    oracle培训资料

    SELECT [DISTINCT] {column1,column2,…} FROM tablename WHERE {conditions} GROUP BY {conditions} ORDER BY {expressions} [ASC/DESC]; 说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一...

    oracle函数大全.doc

    SQL> select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar...

    MYSSQL_MSS_ORACLE经典SQL.pdf

    and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='叶平')); 8、--查询课程编号“002”的成绩比课程编号“001”课程低...

    2018教程读书笔记之oracle从入门到精通

     关键词:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY;INSERT、UPDATE、DELETE、CREATE、DROP、ALTER、GRANT、REVOKE、LIKE、DESC、ASC、DISTINCT;  COL TNAME FOR A10; ----为特定字段设置宽度,A代表...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 oracle的体系很庞大,要学习它,首先要了解oracle的框架。oracle的框架主要由物理结构、逻辑结构、内存分配、后台进程...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    1.5.6 ORDERBY子句 13 1.6 INSERT语句 14 1.6.1 单表插入 14 1.6.2 多表插入 15 1.7 UPDATE语句 17 1.8 DELETE语句 20 1.9 MERGE语句 22 1.10 小结 24 第2章 SQL执行 25 2.1 Oracle架构基础 25 2.2 SGA-...

    Oracle一些重要的查询

     select * from system_privilege_map order by name;  3、查询Oracle所有的角色,一般是DBA;  select * from dba_roles;  4、查询Oracle中所有对象权限  select distinct privilege from dba_tab_pr

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL> select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from ....

    Oracle事例

    SQL>select index_name,index_type,table_name from user_indexes order by table_name; 、查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper(\'&index_name\'); 11、创建序列 ...

    关于Oracle数据库常见的SQL语句及工作经验

    oracle常见查询语句总结select sum(字段) from 表名 where 条件 group by 字段 例子1. select [distinct] *| [as] [列别名],列名称 [as] [列别名]from 表名称 [表别名] [where 条件(s)] [order by 排序的字段 ...

    oracle sql of extracting table structure

    /*----------------------------------------------------------------------------- * Function : to extract the structure of a table * * Author : Richard Wang * * Date : 2011-08-30 * ...order by table_name

    Oracle_Database_11g完全参考手册.part3/3

    5.4 select、From、where和Orderby 5.5 逻辑和值 5.5.1 单值测试 5.5.2 值列表的简单测试 5.5.3 组合逻辑 5.6 wbLere的另一个用途:子查询 5.6.1 从子查询得到单值 5.6.2 从子查询得到值列表 5.7 组合表 5.8 创建...

    Oracle创建视图(View)

    2.在没有WITH CHECK OPTION和 READ ONLY 的情况下,查询中不能使用ORDER BY 子句; 3.如果没有为CHECK OPTION约束命名,系统会自动为之命名,形式为SYS_Cn; 4.OR REPLACE选项可以不删除原视图便可更改其定义并...

    Oracle_Database_11g完全参考手册.part2/3

    5.4 select、From、where和Orderby 5.5 逻辑和值 5.5.1 单值测试 5.5.2 值列表的简单测试 5.5.3 组合逻辑 5.6 wbLere的另一个用途:子查询 5.6.1 从子查询得到单值 5.6.2 从子查询得到值列表 5.7 组合表 5.8 创建...

Global site tag (gtag.js) - Google Analytics