Oracle一些特殊用法
来源:互联网 发布:s7200plc通讯端口设置 编辑:程序博客网 时间:2024/05/29 12:48
指定排序 DECODE(按照指定的soNo顺序排序)
SELECT id,so_noFROM edi_bookingWHERE so_no IN ('TESTVENT0007', 'TESTVENT1111', 'TESTVENT0002', 'TESTVENT0003') ORDER BY DECODE(so_no, 'TESTVENT0007',1,'TESTVENT1111',2,'TESTVENT0002',3,'TESTVENT0003',4);
nvl
- nvl 把值为空的值显示修改
- count(remark) 统计的是remark值不为空的列
nvl(remark, 0) 把remark值为空的 列的值置为 0
select count(*),count(qty),count(remark) from mrk_order;1973 1973 450select count(*),count(qty),count(nvl(remark, 0)) from mrk_order;1973 1973 1973
break on owner skip 2 相同的owner 只显示一次 不同德owner之间空2行
- set pagesize 30; 设置页面大小 显示30行
rollup & cube & grouping sets(做报表)
用法:group by rollup/cube/grouping sets (A, B, C)
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是
- GROUP BY ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行 GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。
- GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C),最后对全表进行GROUP BY操作。
- group by grouping sets(A,B,C) = group by A, group by B, group by C
举例:
一、rollup
select owner,partition_by,sum(amount) from mrk_order where created_date > to_date('2-5月-16','DD-MON-RR') group by owner, partition_by order by owner;
select owner,partition_by,sum(amount) from mrk_order where created_date > to_date('2-5月-16','DD-MON-RR') group by rollup(owner, partition_by) order by owner;
等价于
select owner,partition_by,sum(amount) from mrk_order where created_date > to_date('2-5月-16','DD-MON-RR') group by owner, partition_by union allselect owner,null,sum(amount) from mrk_order where created_date > to_date('2-5月-16','DD-MON-RR') group by owner union allselect null,null,sum(amount) from mrk_order where created_date > to_date('2-5月-16','DD-MON-RR') order by owner;
二、cube
select owner,partition_by,sum(amount) from mrk_order where created_date > to_date('2-5月-16','DD-MON-RR') group by cube(owner, partition_by) order by owner;
三、grouping sets
select owner,partition_by,sum(amount) from mrk_order where created_date > to_date('2-5月-16','DD-MON-RR') group by GROUPING SETS(owner, partition_by) ;
阅读全文
0 0
- oracle 一些特殊用法
- Oracle一些特殊用法
- Oracle instr()函数的一些特殊用法
- jqgrid一些特殊用法
- oracle特殊函数用法
- ORACLE特殊用法
- Extjs中的一些特殊用法
- cin的一些特殊用法
- insert的一些特殊用法
- C++ 一些特殊类型用法
- sql的一些特殊用法
- find的一些特殊用法
- php中一些特殊用法
- TabLayout的一些特殊用法
- Oracle一些特殊的语句
- oracle中的一些特殊字符
- Oracle Instr()的特殊用法
- C# ToString()方法一些特殊用法
- Unity RPG游戏 资源地址
- 自定义Progress进度条
- Md5加密中文的坑
- 常用集合在多线程下的问题
- MySQL ERROR 1862 (HY000)
- Oracle一些特殊用法
- Leetcode 56. Merge Intervals
- 连接Mysql
- oracle-case
- FlV(H264+AAC)格式详细分析
- irq n: nobody cared (try booting with the "irqpoll" option)
- 为什么我还在用Windows?
- 微信小程序页面跳转时传参数
- Appium+Genymotion+robotframework+python系列一:appium环境配置