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

2023-05-16

Nulls first和nulls last是Oracle Order by支持的语法
如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)
如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
使用语法如下:
--将nulls始终放在最前
select * from zl_cbqc order by cb_ld nulls first
 
--将nulls始终放在最后
select * from zl_cbqc order by cb_ld desc nulls last
--实例
1.order by col  (asc/desc)  NULLS LAST 不管col如何排序 col的null(空值) 总是在最后
SQL> WITH tab AS(
  2  SELECT 1 id,'小明' NAME,'开发中心' dept FROM dual
  3  UNION ALL
  4  SELECT 2,'小张','开发中心' FROM dual
  5  UNION ALL
  6  SELECT 3,'小王','开发中心' FROM dual
  7  UNION ALL
  8  SELECT 4,'小丽','研发中心' FROM dual
  9  )
 10  SELECT *
 11    FROM (
 12          SELECT ID, NAME, DEPT FROM tab
 13          UNION ALL
 14          SELECT NULL, DEPT, DEPT FROM tab GROUP BY DEPT
 15          )
 16   ORDER BY DEPT, ID NULLS LAST
 17  /
        ID NAME     DEPT
---------- -------- --------
         1 小明     开发中心
         2 小张     开发中心
         3 小王     开发中心
           开发中心 开发中心
         4 小丽     研发中心
           研发中心 研发中心
已选择6行。
2.order by col  (asc/desc)  NULLS first 不管col如何排序 col的null(空值) 总是在最前
SQL> edi
已写入 file afiedt.buf
  1  WITH tab AS(
  2  SELECT 1 id,'小明' NAME,'开发中心' dept FROM dual
  3  UNION ALL
  4  SELECT 2,'小张','开发中心' FROM dual
  5  UNION ALL
  6  SELECT 3,'小王','开发中心' FROM dual
  7  UNION ALL
  8  SELECT 4,'小丽','研发中心' FROM dual
  9  )
 10  SELECT *
 11    FROM (
 12          SELECT ID, NAME, DEPT FROM tab
 13          UNION ALL
 14          SELECT NULL, DEPT, DEPT FROM tab GROUP BY DEPT
 15          )
 16*  ORDER BY DEPT, ID NULLS first
SQL> /
        ID NAME     DEPT
---------- -------- --------
           开发中心 开发中心
         1 小明     开发中心
         2 小张     开发中心
         3 小王     开发中心
           研发中心 研发中心
         4 小丽     研发中心
已选择6行。
目的:
本来的目的是把部门相同的人员归在一起
SQL> edi
已写入 file afiedt.buf
  1  WITH tab AS(
  2  SELECT 1 id,'小明' NAME,'开发中心' dept FROM dual
  3  UNION ALL
  4  SELECT 2,'小张','开发中心' FROM dual
  5  UNION ALL
  6  SELECT 3,'小王','开发中心' FROM dual
  7  UNION ALL
  8  SELECT 4,'小丽','研发中心' FROM dual
  9  )
 10  SELECT id||name
 11    FROM (
 12          SELECT ID, NAME, DEPT FROM tab
 13          UNION ALL
 14          SELECT NULL, DEPT, DEPT FROM tab GROUP BY DEPT
 15          )
 16*  ORDER BY DEPT, ID NULLS last
SQL> /
ID||NAME
------------------------------------------------
1小明
2小张
3小王
开发中心
4小丽
研发中心
已选择6行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle 排序中使用nulls first 或者nulls last 语法 的相关文章

  • SQL 日期转换结果为“无效的数字格式模型参数”。

    我必须select一些数据来自Oracle 11g数据库 但我似乎不明白为什么以下select查询失败 SELECT INFO ID INFO DETAIL IMPORTANT FLG DELETE FLG CREATE TIME DISP
  • Oracle SQL Developer:如何查看引用游标的结果?

    如果我有一个返回查询引用游标的函数 我如何在 SQL Developer 中查看其结果集 Toad 有一个特殊的选项卡 用于查看参考光标的结果 这是我想要找到的功能 SET SERVEROUTPUT ON VARIABLE X REFCUR
  • Oracle 中四舍五入到特定有效数字位数

    oracle 是否有舍入函数可以四舍五入到特定数量的有效数字 例如 将 1278 舍入到 1300 四舍五入到两位有效数字 Try ROUND x d FLOOR LOG 10 x 1 where d是有效位数 x是要四舍五入的值 Exam
  • 实体框架无法使用复合键更新表中的数据 (Oracle)

    我们有一个具有三列复合键的 Oracle 表 这些列通过实体框架数据模型正确映射到 C 对象中 当我们从数据库中查询记录然后更新非键列时 我们总是收到一条错误消息 指出我们正在尝试更新主键 测试摘录如下 var connection new
  • 如何 UPSERT(更新或插入表?)

    UPSERT 操作更新或插入表中的行 具体取决于表是否已有与数据匹配的行 if table t has a row exists that has key X update t set mystuff where mykey X else
  • Oracle 10g 内连接的 0RA-00952

    这有效 SELECT PRODUCT INFOS FIELD VALUE PRODUCT INFOS COIL ID SYSTEM PRODUCT INFOS TIME STAMP PRODUCT INFOS FIELD NAME FROM
  • PL/SQL 打印存储过程返回的引用游标

    如何从存储过程 OUT 变量 返回的引用游标中获取数据并将结果行打印到 SQL PLUS 中的 STDOUT ORACLE存储过程 PROCEDURE GetGrantListByPI p firstname IN VARCHAR2 p l
  • 在 SQL 中查找日期范围重叠的记录

    我有以下表格和数据 CREATE TABLE customer wer id customer NUMBER name VARCHAR2 10 surname VARCHAR2 20 date from DATE date to DATE
  • 如何使用 ORACLE SQL 从 XML 中单独提取可重复的 json 节点值?

    我有以下 XML 我想提取 json 参数 serviceNumber 的值分别地我尝试使用 EXTRACT 函数 但我得到了连接的结果 但我希望将它们分开
  • 无法使用 LISTAGG

    SELECT deptno LISTAGG ename WITHIN GROUP ORDER BY ename AS employees FROM emp GROUP BY deptno Error ORA 00923 FROM keywo
  • 插入触发器是否需要提交语句

    这是实际场景的简化 在哪里可以看到表 B 上缺失的记录 假设有两个数据库表 A B 表 A 上有一个插入触发器 它对表 B 进行插入 但它没有 COMMIT 如果我们通过 JDBC 连接器打开数据库连接 并对表 A 进行插入 并提交 触发器
  • oracle中的数字格式

    Hai 我的数字格式有问题 我正在使用 oracle 我在数据库中有一个数字字段 但是当我检索它时 我需要将其视为浮点数 例如 在检索时 现在我得到的结果为 200 DR 借方的 DR 手动给出 现在我需要得到 200 00 DR 的结果
  • 使用 SSIS 将数据从 Oracle 导入到 SQL Server 时出现代码页错误

    我在 SSIS 包中的 OLEDB 源上收到以下警告 警告 1 验证警告 数据流任务 20582F6F DD9C 45F5 8727 992F525E67DC 无法检索该列 来自 OLE DB 提供程序的代码页信息 如果组件支持 Defau
  • 如何启用 Genymotion 模拟器使用主机正在使用的 WIFI 互联网

    我在 Genymotion 模拟器上运行的应用程序需要互联网 互联网似乎无法在 Genymotion 模拟器上运行 我试图通过打开浏览器来确认这一点 这就是我得到的 我在我的笔记本电脑上运行 Windows 7 并使用 Wifi 互联网 我
  • 如何找到与日期范围最重叠的时间段

    假设您有一个包含标识符 开始时间和结束时间的表 这些开始和结束时间可以是任意时间长度 开始时间始终早于结束时间 假设没有空值 什么样的查询会告诉我最 流行 的时间 即每行中的两个范围与大多数其他行重叠的位置 它的实际应用是它是一个记录用户登
  • 处理ORACLE异常

    我需要处理ORA 01400 错误 http www techonthenet com oracle errors ora01400 php 无法使用异常句柄将 NULL 插入 SCHEMA TABLE NAME COLUMN NAME O
  • Oracle 10 中的本地临时表(适用于存储过程的范围)

    我是甲骨文新手 我需要在存储过程中处理大量数据 我正在考虑使用临时表 我正在使用连接池 并且该应用程序是多线程的 有没有一种方法可以为每次调用存储过程创建不同的表实例来创建临时表 以便来自多个存储过程调用的数据不会混淆 你说你是 Oracl
  • Oracle - 为什么在存储过程中允许 EXECUTE IMMEDIATE?

    如果存储过程旨在减轻 SQL 注入攻击 为什么在存储过程中允许 EXECUTE IMMEDIATE 以下问题的公认答案将其视为针对此类攻击的一个步骤 什么是存储过程 https stackoverflow com a 459531 3163
  • 物化视图与表:有什么优点?

    我很清楚为什么物化视图比仅查询基表更可取 不太清楚的是与仅创建另一个具有与 MV 相同数据的表相比的优势 MV 的唯一优势真的只是易于创建 维护吗 MV 不是相当于具有匹配架构的表和使用 MV SELECT 语句的 INSERT INTO
  • ORA-01438: 值大于此列允许的指定精度

    有时我们会从合作伙伴的数据库中收到以下错误 i ORA 01438 value larger than specified precision allows for this column i 完整响应如下所示

随机推荐

  • 一个实习生的经验总结,3次实习4个坑,全是经验

    一个实习生的经验总结 xff0c 3次实习4个坑 xff0c 全是经验 文章目录 一个实习生的经验总结 xff0c 3次实习4个坑 xff0c 全是经验职业发展刚毕业就职业危机站在风口前等风来尽早做足准备实习很重要 xff0c 但是不行尽快
  • 拖更的这段日子+这并不友好的环境+不能再犯懒了

    拖更的这段日子 43 这并不友好的环境 43 不能再犯懒了 我很懒 我一直在拖更 停更了有一段时间 一直没有机会再打开电脑去记录这些事情 如果非要说一个原因的话那便是懒 去年的这个时期可以保持日更文章的时候 是因为 每天早上 六点就会从床上
  • 我的2021年度书单(主要教你面试怎么装B)

    我的2021年度书单 xff08 主要教你面试怎么装B xff09 文章目录 我的2021年度书单 xff08 主要教你面试怎么装B xff09 技术之内 数据密集型应用系统设计 数据结构与算法之美 大型网站技术架构 凤凰架构 凤凰项目 计
  • 毕业半年年终总结

    毕业半年年终总结 如果说2021年主要的内容是求职和实习 那么2022年一年主要的内容便是毕业和工作 匆匆忙忙 本科毕业了 6月份的时候参加完毕业答辩 xff0c 也就顺利的毕业了 实际上中途也有过一些插曲 xff0c 比如毕业设计是制作某
  • 221228代码屎山看法

    今天逛v站有人在提问 公司的项目代码太恶心了怎么办 xff1f 这的确是一个 老生常谈的问题 刚好今天上午也有同事在抱怨和吐槽历史的代码各种不合理 xff0c 维护起来极其的恶心 论坛里有人提出了 你不能用现在的标准去衡量以前的产出 的观点
  • 我不看好web3.0 但是或许 我就像十六年前不看好 web2.0那批人一样?

    我不看好web3 0 但是或许 我就像十六年前不看好 web2 0那批人一样 xff1f 最近一直被推荐系统刷到 web3 0 的话题 说实话我对 web3 0 目前基本上也是完全不了解 xff0c 主观的偏见还是认为 xff0c 脱离了中
  • 2022最后一天盘点

    今天是今年最后的一天工作日 xff0c 对于我来说就是今年的最后一天 xff0c 因为放假了我就不需要思考了 xff08 当然公司后端程序员要保持24小时oncall xff09 1 阳完之后 还是有些 咳嗽 xff0c 公司此起彼伏的咳嗽
  • VSCode如何快速搭建C/C++环境

    1 前言 说明下如何在VSCode下面搭建C C 43 43 环境以及运行 2 下载 点击该链接 xff0c 进行ming64安装包下载 xff1a VSCode安装请自行百度 xff0c 这里不在赘述 3 安装 1 将下载完成后的安装包
  • 编程思想图书推荐,新手入门应该看些啥

    编程思想图书推荐 xff0c 新手入门应该看些啥 导入 元旦的时候 xff0c 学校社团的指导老师 xff0c 咨询我有没有什么可以推荐的编程思想的学习书籍 xff0c 可以值得推荐精读 说实话 xff0c 我个人是买过很多书的 xff0c
  • 阿里云故障有感

    2304阿里云故障有感 为什么会写一个如此奇怪的议题 人的生活轨迹 xff0c 不一定只有唯一的叙事方式 xff0c 可以不那么苦 xff0c 不那么累 xff0c 不那么怕 xff0c 不那么憋屈 不再去追求宏大的叙事 xff0c 而是去
  • 轨迹预处理(轨迹清洗)-卡尔曼滤波、扩展的卡尔曼滤波、粒子滤波在轨迹清洗中的应用

    1 卡尔曼滤波 扩展的卡尔曼滤波 粒子滤波的理论与应用 GPS是全球卫星定位系统 xff0c 可以帮助我们获得经纬度坐标 GPS在汽车上的广泛装备与应用 xff0c 可以很方便地帮助我们获得海量的汽车轨迹信息 然而 xff0c GPS设备有
  • [安装配置] TX2上利用Kinect v1录制'TUM'数据集

    环境设置 安装驱动 span class token function sudo span span class token function apt get span span class token function install s
  • 麻将的胡牌算法

    正常的麻将胡牌方式为满足N ABC 43 M DDD 43 xff25 xff25 的形式 xff0c 及存在一个对子 EE xff0c 剩余牌均能组成顺子 xff08 ABC xff09 或者刻子 xff08 DDD xff09 很容易发
  • Detected problems with API compatibility(visit g.co/dev/appcompat for more info

    项目中 xff0c 用户在Android P 手机上报过来一个问题 xff0c 如下 xff1a 调研了一下 xff0c 是 Android P 后谷歌限制了开发者调用非官方公开API 方法或接口 xff0c 也就是说 xff0c 你用反射
  • 树莓派4b一个按钮控制开关机

    1 仔细阅读 boot overlays README 文档 里面说明很详细 2 摘录关于电源控制部分 Name nbsp gpio shutdown Info nbsp Initiates a shutdown when GPIO pin
  • Java编写的查找一个字符串在另一个字符串中出现的次数

    span class token keyword public span span class token keyword static span span class token keyword int span span class t
  • java调用chatGpt API接口代码实操

    话不多说 xff0c 直接上代码 span class token keyword import span span class token namespace java span class token punctuation span
  • java通过模板导出excel的一个实例

    写之前 xff0c 大家请先下好poi的相关jar包 xff0c 网上遍地都是 xff0c 不多说 lt input type 61 34 button 34 id 61 34 exportBtn 34 class 61 34 Common
  • ubantu网络调试助手的安装以及打开

    太难了 xff0c 为了下载和打开这个网络调试助手 以下的文章对我的贡献太大了 xff01 xff01 xff01 感谢网络 xff0c 感谢大家 xff01 xff01 xff01 解决ubuntu网络调节助手之后打不开 John run
  • Oracle 排序中使用nulls first 或者nulls last 语法

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