mysql和oracle查询排序

原创 2016年05月31日 15:40:54

一、简单排序(number)

Mysql:

ASC 升序 空——小——大

Desc 降序 大——小——空

Oracle:

ASC 升序 小——大——空

Desc 降序 空——大——小

用法:

SELECT a.name,a.age_ID FROM A a ORDER BY a.ageDESC

SELECT a.name,a.age as aa_ID FROM A a ORDER BY aaDESC

SELECT a.name,a.age_ID FROM A a ORDER BY 2 DESC

 

可以使用列名进行排序,也可以用列名所在的位置进行排序

二、多个字段排序(number)

说明:当两个字段同时进行排序的时候,当第一个字段相同时,才根据第二个字段进行排序。

用法:SELECT ju.NAME,ju.ROLE_ID,ju.EXPERIENCE FROM jspt_user ju ORDER BYju.ROLE_ID ASC, ju.EXPERIENCE ASC

三、字符串排序(varchar)

Mysql:

ASC 升序空——数字(1-9)——字母(a-z不区分大小写)

Desc 降序 字母(z-a不区分大小写)——数字(9-1)——空

Oracle:

ASC 升序 数字(1-9)——字母(大写)——字母(小写)——空

Desc 降序 空——字母(小写z-a)——字母(大写)——数字(9-1)

 

说明:aaa 和aaa123 在升序时,aaa在aaa123之前

 

四、子串排序

说明:按照身份证的后5位进行排序

例:SELECT ju.ACCOUNT,ju.ID_CARD_NUM,SUBSTR(ID_CARD_NUM,-5) AS num

FROM jspt_user ju ORDER BY num DESC

 

五、按照字符串和数字混合中的字符串进行排序(oracle)

说明:此时要把某一列的数字替换成空格,使用字符串函数translate(替换列,需替换的地方,替换成)

例:SELECT ju.ACCOUNT,ju.NAME,translate(ACCOUNT,'-0123456789','-')as acc FROM jspt_user ju ORDER BY acc DESC

 

六、空值在前(oracle)

说明:空值在前,其他升序排序,mysql 升序,空值本来就放在前面

例:SELECT ju.ACCOUNT FROM jspt_user ju ORDER BY ACCOUNT NULLSfirst

 

七、优先排序

说明:搭配case when 进行排序

例:SELECT * FROM jspt_user ju  ORDER BY CASE WHEN  ju.CREATE_SOURCE = '1' THEN 1 ELSE 0  end DESC

字段为create_source=1时,优先排序

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle 给查询结果排序

一、以指定的次序返回查询结果 1.在实际提取数据或生成报表时, 一般都要根据一定的顺序查看,比如,想查看单位所雇员工的信息。两种写法如下: 1.1SELECT e.empno,e.ename,e....
  • yuxianmingdisk
  • yuxianmingdisk
  • 2017年07月06日 20:22
  • 338

MySql与Oracle的差别

一、并发性   并发性是oltp数据库最重要的特性,但并发涉及到资源的获取、共享与锁定。   mysql: mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时...
  • liu88010988
  • liu88010988
  • 2016年03月03日 17:24
  • 1695

oracle基础查询语句和数据排序

dba基础课程:oracle基础查询语句和数据排序 本文所以练习都是基于oracle自带提供的一个数据库进行的。数据库中包含员工表emp。部门信息表dept。员工工资工总表 下面是三个表的...
  • oraclestudyroad
  • oraclestudyroad
  • 2016年08月03日 15:39
  • 1082

Oracle 查询技巧与优化(一) 单表查询与排序

关于Oracle单表查询与排序相关的技巧与优化~
  • wlwlwlwl015
  • wlwlwlwl015
  • 2016年08月02日 09:22
  • 3225

Oracle中的order by分页排序问题

今天在系统测试的过程中,测试人员发现自己新添加的科目添加到系统中在页面默认分页查询中没有找到自己新加的科目(分页过程中页面显示数据确实和数据表中的数据总量一致),但是通过系统的搜索功能是可以查询的到数...
  • nooneyanghuijava
  • nooneyanghuijava
  • 2016年08月11日 16:27
  • 1129

MySQL对查询结果排序

从表中查询出来的数据,可能是无序的,或者其排列顺序表示用户期望的 使用ORDER BY对查询结果进行排序SELECT 字段名1,字段名2,…… FROM 表名 ORDER BY 字段名1 [AS...
  • nangeali
  • nangeali
  • 2017年07月09日 12:05
  • 376

oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY

oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY oracle 查询结果的排序,ASC/DESC,升序,降序,多列排序,ORDER BY,一些练...
  • csnewdn
  • csnewdn
  • 2016年11月16日 17:27
  • 7215

mysql随机排序

需求:首页热门栏目需要随机显示几条信息 方案1:order by rand(),全表扫描 SELECT SQL_NO_CACHE * FROM `house_rent` order by rand()...
  • u011478276
  • u011478276
  • 2016年12月21日 10:03
  • 1164

浅谈Oracle与Mysql分页查询比较!!!!

浅谈Oracle与Mysql分页查询比较!!!!
  • u014185140
  • u014185140
  • 2016年07月25日 20:43
  • 4448

MySQL查询in操作 查询结果按in集合顺序显示

引自:http://www.jb51.net/article/25639.htm MySQL 查询in操作,查询结果按in集合顺序显示 复制代码 代码如下: select * fr...
  • swazer_z
  • swazer_z
  • 2016年02月04日 10:48
  • 2817
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql和oracle查询排序
举报原因:
原因补充:

(最多只允许输入30个字)