Nulls first和nulls last是Oracle Order by支持的语法
如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)
如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
使用语法如下:
--将nulls始终放在最前
 select* from baseinfo_operator  order by name  nulls first
--将倒序时合计放在最下面
select case when grouping(clr.cardNo)=1 then '合计' else to_char(clr.cardNo) end cardNo,case when grouping(clr.cardCSN)=1 then to_char(count(*)) || '条' else clr.cardCSN end cardCSN ,
clr.newCardNo as newCardNo,clr.newCardCSN as newCardCSN, cc.nameCN AS cardType,rc.nameCN AS RechargeCenters,rt.nameCN AS RechargeTerminals,o.nameCN AS operatorName,
clr.accountsTransferDate AS accountsTransferDate,clr.customerName AS customerName,clr.papersCard AS papersCard,cc2.nameCN AS transferCardType,
SUM (F2Y (nvl(clr.walletBalances, 0))) AS walletBalances,SUM (nvl(clr.monthTicketNums, 0)) AS monthTicketNums,SUM (F2Y (nvl(clr.monthTicketBalances, 0))) AS monthTicketBalances,
SUM (F2Y (nvl(clr.disCountRechargeMoney,0))) AS disCountRechargeMoney,SUM (nvl(clr.creditScore, 0)) AS creditScore,SUM (nvl(clr.creditNums, 0)) AS creditNums,
SUM (F2Y (nvl(clr.factorage, 0))) AS factorage,sum(F2Y (clr.walletBalances) + F2Y (clr.monthTicketBalances))as sumBalances from CardLossRecords clr
LEFT JOIN CODE_Content cc ON cc.oid = clr.cardType LEFT JOIN BASEINFO_Operator o ON o.oid = clr.operatorOID
 LEFT JOIN CODE_Content cc2 ON cc2.oid = clr.lossType LEFT JOIN BASEINFO_RechargeTerminals rt ON rt.oid = clr.createLossAreaOID
 LEFT JOIN BASEINFO_RechargeCenters rc ON rc.oid = rt.rechargeCenterOID
 where accountsTransfer=1 and isOtherOperate=0 and clr.valid=1  and clr.operatorOID ='0'  and to_char(clr.accountsTransferDate,'yyyy-mm-dd hh24:mi:ss') >= '2017-09-06 00:00:00'
 and to_char(clr.accountsTransferDate,'yyyy-mm-dd hh24:mi:ss')<='2017-09-06 23:59:59'
 group by rollup(clr.cardNo,clr.cardCSN,clr.newCardNo,clr.newCardCSN,cc.nameCN,rc.nameCN,rt.nameCN,o.nameCN,clr.accountsTransferDate,clr.customerName,clr.papersCard,cc2.nameCN)
 having( grouping(clr.cardNo)=1 or( grouping(clr.cardNo)=0 and grouping(clr.cardCSN)=0 and grouping(clr.newCardNo)=0 and grouping(clr.newCardCSN)=0
 and grouping(cc.nameCN)=0 and grouping(rc.nameCN)=0 and grouping(rt.nameCN)=0 and grouping(o.nameCN)=0 and grouping(clr.accountsTransferDate)=0
  and grouping(clr.customerName)=0 and grouping(clr.papersCard)=0 and grouping(cc2.nameCN)=0 ))
 
   order by accountsTransferDate desc nulls last

Oracle 排序中 nulls first 与 nulls last 的用法的更多相关文章

  1. Oracle 排序中使用nulls first 或者nulls last 语法

    -原理 Nulls first和nulls last是Oracle Order by支持的语法 如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc ...

  2. Oracle数据库中 to_date()与to_char()函数的用法

    to_date() ,to_char()与24小时制表示法及mm分钟的显示: 一.在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH: ...

  3. 关于Oracle数据库中SQL空值排序的问题

    在Oracle中进行查询排序时,如果排序字段里面有空值的情况下,排序结果可能会达不到自己想要的结果.   如 select * from tableTest order by VISITS desc ...

  4. 问题:oracle 排序 null值放在最后;结果: ORACLE中null的排序问题

    ORACLE中null的排序问题 关键字: oracle nulls 问题描述:    在平时的业务处理中,经常遇到要对业务数据进行排序,并且要对null值也做相应的排序.在Oracle中,进行Ord ...

  5. oracle 排序

    1.ORDER BY 中关于NULL的处理 缺省处理,Oracle在Order by 时认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前. 当然,你也可以使用nulls f ...

  6. 【转】Oracle数据库中Sequence的用法

    在Oracle数据库中,sequence等同于序列号,每次取的时候sequence会自动增加,一般会作用于需要按序列号排序的地方. 1.Create Sequence (注释:你需要有CREATE S ...

  7. 一个简单的批量更新oracle 数据库中 最近的服务商名称的数据

    有一个需求是这样的,我们需要更新数据库中的数据,数据时这样的 1.大约50万以上 2. 数据中有较多的重复数据 3. 需要将表中最近的代理商的名称赋值给行中的服务商名称 4. 代理商的名称可能有多个, ...

  8. 各种数据库分页语句整理以及Oracle数据库中的ROWNUM和ORDER BY的区别

    .oracle数据库分页 select * from (select a.*,rownum rc from 表名 where rownum<=endrow) a where a.rc>=s ...

  9. oracle排序子句的特殊写法与ORA-01785错误

    刚刚写的SQL语句在执行的时候报[ORA-01785: ORDER BY item must be the number of a SELECT-list expression]错误,于是自己百度了一 ...

随机推荐

  1. python基础5(文件操作,with语句)

    打开文件 #使用 open f = open('路径',mode = '打开模式', encoding='编码') #可以使用with语句打开,不需要关闭,可以同时打开多个文件 with open(' ...

  2. 题解 洛谷 P3381 【【模板】最小费用最大流】

    发了网络流,再来一发费用流 能做费用流的,网络流自然做得来,但在这还是不要脸的安利一下自己的博客(里面也有网络流的题解): 点我 扯远了... 费用流,就是在不炸水管的情况下求源点到汇点的最小费用. ...

  3. FZU 1980 AbOr's story

    AbOr's story Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on FZU. Original I ...

  4. 作为一名Android APP开发者的自我总结

    每当接近年尾,最痛苦的工作无疑是写年终总结,写总结的同时不禁感叹这一年过得不容易阿.突然想起这一年也是自己开发Android APP的第一年,于是觉得应该给自己的APP来一个年终总结. 一.开发方面严 ...

  5. JAVA:从public static void main(String args[])開始

    我们都知道当你要执行一个JAVA文件的时候必需要有一个main函数. 这是为什么呢? 跟C语言的道理一样,当你执行一个文件的时候.你必需要有一个入口函数或者入口地址,在C里面是main函数.相同的在J ...

  6. 整合大量开源库项目(五)跳动的TextView JumpingBeans,良好体验的滚动条ConvenientBanner

    转载请注明出处:王亟亟的大牛之路 时间过得非常快,这一系列已经写了第五篇了(感觉还要写好久).今天又引入了2个非常好用的库JumpingBeans,ConvenientBanner.首先.先看一下效果 ...

  7. Java多线程理解:线程安全的集合对象

    1.概念介绍 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用.不会出现数据不一致或者数据污染. 线程不安全就 ...

  8. 威胁报告:mDNS 反射式 DDoS 攻击

    威胁报告:mDNS 反射式 DDoS 攻击 转自:https://www.akamai.com/cn/zh/about/our-thinking/threat-advisories/akamai-md ...

  9. 什么是SVN(Subversion)? 为什么要用SVN? (2011-09-05 15:09:47) 转载 ▼

    转自:http://blog.sina.com.cn/s/blog_54ccd3500100tkvo.html 什么是SVN(Subversion)? 有一个简单但不十分精确比喻: SVN = 版本控 ...

  10. 隐藏tomcat nginx版本信息

    Tomcat --首先备份tomcat .首先找到这个jar包,$TOMCAT_HOME/lib/catalina.jar .解压catalina.jar之后按照路径\org\apache\catal ...