【第22期】观点:IT 行业加班,到底有没有价值?

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时,优先排序

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

相关文章推荐

MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法

原文地址:http://www.lonery.com/view_article.php?aid=5 【sqlserver】: sqlserver 认为 null 最小。 升序排列:n...

MySQL、Oracle和SQL Server的分页查询语句

假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql、Oracle和SQL Server分页查询student表。 1、Mysql的分页查询:  1 SELECT...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Oracle、MYSQL、sql server和DB2分页查询写法

一、DB2:   DB2分页查询   SELECT * FROM (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN 10 AND 20   以上表示提取...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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