最近基于公司的业务做报表的时候,很多场景都要用到排序查询和增加累加总价
1.排序查询
----查询排序,特定300-400行的数据
SELECT B.R,B.*  FROM (SELECT ROWNUM R, T.* FROM SYS_ACTIVECODE T WHERE ROWNUM <= 400  and t.USEDFLAG='0' and t.ACTCODE_TYPE='2D')       B WHERE B.R >= 300  AND B.R <= 400

如图:

2.按日期增加累计
---1.给转板增加数量总计,按日期
WITH T AS (
select work_order,QTY,CREATE_USER_ID,CREATE_TIME from smt_to_dip where work_order='WORK014084' order by CREATE_TIME
)
SELECT T.work_order,t.CREATE_TIME,T.QTY, SUM(T.QTY) OVER(ORDER BY T.CREATE_TIME)
as 总计 FROM T

如图:

6.按箱号增加累计
WITH T AS
(SELECT B.PART_NO AS 成品料号,B.SPEC1 AS 成品规格 ,A.WORK_ORDER AS 工单 ,A.QTY AS 入库数量,A.BILL_NO AS 入库单号,A.CONTAINER_NO AS 箱号,C.EMP_NAME AS 操作者,A.UPDATE_TIME AS 入库时间
FROM SAJET.WMS_PRODUCTS_IN A LEFT JOIN SAJET.SYS_PART  B ON A.PART_ID=B.PART_ID
LEFT JOIN SAJET.SYS_EMP C ON A.UPDATE_USERID=C.EMP_ID
WHERE 1=1
AND A.BILL_NO IN(SELECT LIST_NO FROM SAJET.TBLK3_BILL_RECORD WHERE  ORDER_TYPE IN('1','2') AND ISOK='1') AND A.WORK_ORDER='WORK014084'
[AND B.PART_NO=:PARAM1]
[AND A.WORK_ORDER=:PARAM2]
[AND A.BILL_NO=:PARAM3]
[AND A.UPDATE_TIME BETWEEN:PARAM4]
ORDER BY A.UPDATE_TIME DESC) SELECT T.成品料号,T.成品规格,T.工单,T.入库单号,T.箱号,T.操作者,T.入库时间,T.入库数量,SUM(T.入库数量) OVER (ORDER BY T.箱号) AS 总计 FROM T

如图:

4.可能我们在某些业务场景中还会遇见其他的问题,例如在你查询的数据总计一行总计
select decode (grouping(work_order)+grouping(CREATE_USER_ID)+grouping(qty),3,'合计',work_order)work_order,decode (grouping(work_order)+grouping(CREATE_USER_ID)+grouping(qty),3,'-',CREATE_USER_ID)CREATE_USER_ID,decode (grouping(work_order)+grouping(CREATE_USER_ID)+grouping(qty),3,'-',qty)qty,sum(qty) from smt_to_dip where work_order='WORK014051'group by rollup((work_order,CREATE_USER_ID,qty))

得到如图:

Oracle的查询排序,增加总计列,或者增加总计行相关推荐

  1. oracle 字段 查找重复,oracle数据库查询重复的索引列

    查看有哪些索引含有重复的字段, 从而让索引更加合理化!SQL> SELECT /*+ rule */ a .table_owner,a.table_name,a.index_owner,a.in ...

  2. mysql 联合查询后排序_MySQL的查询(联合查询,查询排序,正则表达式)

    MySQL的查询(联合查询,查询排序,正则表达式) MySQL的查询(联合查询,查询排序,正则表达式) MySQL的查询 联合查询实例 -- 联合查询 SELECT * FROM user union ...

  3. oracle怎么自定义排序,ORACLE自定义顺序排序

    ORACLE可以借助DECODE函数,自定义顺序排序: select * from ( select 'Nick' as item from dual union all select 'Viki' ...

  4. Oracle数据查询

    comment on column 表名.列名 is '自定义'; -------添加备注 去重复数据项 select distinct d.sex性别 from students d; distin ...

  5. oracle树状排序,Oracle树状结构查询

    oracle用表的形式组织数据,某些数据还呈现树状结构,提供了对这些数据的组织.查询等功能.在扫描树结构表时,要依次访问树中的每一个节点,并且每个节点只能访问一次,其步骤如下: 1:从根节点开始 2: ...

  6. oracle数据库查询并排序语录句,ORACLE系统查询话语

    当前位置:我的异常网» 数据库 » ORACLE系统查询话语 ORACLE系统查询话语 www.myexceptions.net  网友分享于:2015-08-26  浏览:19次 ORACLE系统查 ...

  7. MySQL 学习笔记(1)— 创建/连接/选择/显示数据库(表) 查询单列(多列/所有列)/查询返回特定的行数 各种排序(单列/多列/降序/组合排序) 过滤数据

    本文是对之前学习 MySQL 的一个总结,使用思维导图的方式将涉及到的知识点罗列出来,一方面作为自己对于知识点的归纳,另一方面也便于日后查询. 在该篇文章中将对 MySQL 的基本使用.检索基本数据. ...

  8. oracle.简单查询、排序、限定查询、单行函数

    一.简单查询: 1.查询数据表的所有列: SELECT * FROM 表名; SELECT 列名,列名.... FROM 表名; 2.起别名: SELECT 列名 [AS 别名],列名 别名.... ...

  9. Oracle数据库之查询排序

    一.查询排序 在SQL的定义中默认是根据ID来进行排序的,在Oracle中有时会根据创建时间以及各种各样的因素进行排序 总体上说,就是乱序的 如果我们需要对数据通过某些列进行排序那么我们需要使用ord ...

最新文章

  1. 技术图文:如何利用 Python 做一个简单的定时器类?
  2. Linux学习记录--文件压缩
  3. 一个老程序员的30年生涯回顾(译文)
  4. Gauss-Newton算法学习
  5. php html url编码,html中url编码是什么?有什么用?
  6. 电子产品设计流程_指纹锁生产的八大工序流程
  7. 给Ubuntu 16.04更换更新源
  8. (2021) 23 [持久化] I/O设备与驱动
  9. Chrome浏览器新功能 剪贴板多平台共享
  10. Flink的Union算子和Connect算子,流合并
  11. Android:单元测试InstrumentationTestRunner
  12. Unity UGUI优化:解决EventSystem耗时过长的问题 第一部分
  13. spss之数据处理(离散化)
  14. iOS10访问通讯录、相册等隐私权限设置
  15. Linux之日志服务及管理
  16. 微信小程序实现列表及tab标签
  17. 跑腿小程序系统,同城闪送、帮买帮送
  18. 【基础】存储过程IN、OUT、INOUT参数模式
  19. linux文件目录类、pwd 显示当前工作目录的绝对路径、列出目录的内容
  20. KBPC3510-ASEMI电磁炉专用整流桥KBPC3510

热门文章

  1. 【ST开发板评测】Nucleo-F411RE开箱报告
  2. 9.1总结前日(数学+图论)
  3. 价值文明的新纪元——解析Nirvana Chain钱包生态
  4. python自学第六天之列表增删改查
  5. 如何达到高效的网络信息传播
  6. 虚拟局域网软件开源_老牌沙盒虚拟软件免费开源,可以不用虚拟机了
  7. 上海财经大学浙江学院计算机应用,【招生季⑦】今晚带你走进上海财经大学浙江学院——经济与信息管理系...
  8. 搜狗蜘蛛池之搜狗泛站群技巧详解
  9. 一个牛逼的Bug!一张“壁纸”让三星手机秒变砖!
  10. 51单片机心形灯实现每次点亮两个灯编程