易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE Top/Bottom N、First/Last、NTile

目录
==================================================================
1.带空值的排列
2.Top/Bottom N查询
3.First/Last排名查询
4.按层次查询
一、带空值的排列:
假如被排列的数据中含有空值呢?
SQL> select region_id, customer_id,
   2         sum(customer_sales) cust_sales,
   3         sum(sum(customer_sales)) over(partition by region_id) ran_total,
   4         rank() over(partition by region_id
   5                  order by sum(customer_sales) desc) rank
   6    from user_order
   7   group by region_id, customer_id;
REGION_ID CUSTOMER_ID CUST_SALES RAN_TOTAL       RANK
---------- ----------- ---------- ---------- ----------
         10          31               6238901          1
         10          26    1808949    6238901          2
         10          27    1322747    6238901          3
         10          30    1216858    6238901          4
         10          28 


相关文档:

ORACLE中in 和 exists区别

IN和EXISTS区别
in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。
一直以来认为exists比in效率高的说法是不准确的。
如果查询的两个表大小相当,那么用in和exists差别不大。
如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:
例如:表A(小表),表B ......

Oracle与DB2中序列处理

1、序列定义    
   ORACLE:   
             CREATE SEQUENCE <sequence_name>
          INCREMENT BY <integer>
    &n ......

Oracle trim 函数的用法

 select trim(leading | trailing | both '  ' from '   abc      d      ') from dual;
 去掉字符串 '   abc      d      ' 的前面/后面/前后的空格
 类似函数:ltrim, ......

Oracle 数字函数用法

 1. round(Num,n) :  四舍五入数字Num,保留n位小数,不写N默认不要小数,四舍五入到整数个位
 select ROUND(21.237,2) from dual; 
 结果: 21.24
 2. trunc(Num,n) : 截取数字Num,保留n位小数,不写N默认是0,即不要小数
 select TRUNC(21.237,2) from dual;
 结果:21.2 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号