Oracle的查询排序,增加总计列,或者增加总计行
最近基于公司的业务做报表的时候,很多场景都要用到排序查询和增加累加总价
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的查询排序,增加总计列,或者增加总计行相关推荐
- oracle 字段 查找重复,oracle数据库查询重复的索引列
查看有哪些索引含有重复的字段, 从而让索引更加合理化!SQL> SELECT /*+ rule */ a .table_owner,a.table_name,a.index_owner,a.in ...
- mysql 联合查询后排序_MySQL的查询(联合查询,查询排序,正则表达式)
MySQL的查询(联合查询,查询排序,正则表达式) MySQL的查询(联合查询,查询排序,正则表达式) MySQL的查询 联合查询实例 -- 联合查询 SELECT * FROM user union ...
- oracle怎么自定义排序,ORACLE自定义顺序排序
ORACLE可以借助DECODE函数,自定义顺序排序: select * from ( select 'Nick' as item from dual union all select 'Viki' ...
- Oracle数据查询
comment on column 表名.列名 is '自定义'; -------添加备注 去重复数据项 select distinct d.sex性别 from students d; distin ...
- oracle树状排序,Oracle树状结构查询
oracle用表的形式组织数据,某些数据还呈现树状结构,提供了对这些数据的组织.查询等功能.在扫描树结构表时,要依次访问树中的每一个节点,并且每个节点只能访问一次,其步骤如下: 1:从根节点开始 2: ...
- oracle数据库查询并排序语录句,ORACLE系统查询话语
当前位置:我的异常网» 数据库 » ORACLE系统查询话语 ORACLE系统查询话语 www.myexceptions.net 网友分享于:2015-08-26 浏览:19次 ORACLE系统查 ...
- MySQL 学习笔记(1)— 创建/连接/选择/显示数据库(表) 查询单列(多列/所有列)/查询返回特定的行数 各种排序(单列/多列/降序/组合排序) 过滤数据
本文是对之前学习 MySQL 的一个总结,使用思维导图的方式将涉及到的知识点罗列出来,一方面作为自己对于知识点的归纳,另一方面也便于日后查询. 在该篇文章中将对 MySQL 的基本使用.检索基本数据. ...
- oracle.简单查询、排序、限定查询、单行函数
一.简单查询: 1.查询数据表的所有列: SELECT * FROM 表名; SELECT 列名,列名.... FROM 表名; 2.起别名: SELECT 列名 [AS 别名],列名 别名.... ...
- Oracle数据库之查询排序
一.查询排序 在SQL的定义中默认是根据ID来进行排序的,在Oracle中有时会根据创建时间以及各种各样的因素进行排序 总体上说,就是乱序的 如果我们需要对数据通过某些列进行排序那么我们需要使用ord ...
最新文章
- 技术图文:如何利用 Python 做一个简单的定时器类?
- Linux学习记录--文件压缩
- 一个老程序员的30年生涯回顾(译文)
- Gauss-Newton算法学习
- php html url编码,html中url编码是什么?有什么用?
- 电子产品设计流程_指纹锁生产的八大工序流程
- 给Ubuntu 16.04更换更新源
- (2021) 23 [持久化] I/O设备与驱动
- Chrome浏览器新功能 剪贴板多平台共享
- Flink的Union算子和Connect算子,流合并
- Android:单元测试InstrumentationTestRunner
- Unity UGUI优化:解决EventSystem耗时过长的问题 第一部分
- spss之数据处理(离散化)
- iOS10访问通讯录、相册等隐私权限设置
- Linux之日志服务及管理
- 微信小程序实现列表及tab标签
- 跑腿小程序系统,同城闪送、帮买帮送
- 【基础】存储过程IN、OUT、INOUT参数模式
- linux文件目录类、pwd 显示当前工作目录的绝对路径、列出目录的内容
- KBPC3510-ASEMI电磁炉专用整流桥KBPC3510
热门文章
- 【ST开发板评测】Nucleo-F411RE开箱报告
- 9.1总结前日(数学+图论)
- 价值文明的新纪元——解析Nirvana Chain钱包生态
- python自学第六天之列表增删改查
- 如何达到高效的网络信息传播
- 虚拟局域网软件开源_老牌沙盒虚拟软件免费开源,可以不用虚拟机了
- 上海财经大学浙江学院计算机应用,【招生季⑦】今晚带你走进上海财经大学浙江学院——经济与信息管理系...
- 搜狗蜘蛛池之搜狗泛站群技巧详解
- 一个牛逼的Bug!一张“壁纸”让三星手机秒变砖!
- 51单片机心形灯实现每次点亮两个灯编程