Oracle子查询第一行与最后一行相运算
Oracle子查询第一行与最后一行相运算
引言:
处理流水帐类似记录的时候,可能常遇到“在某个表值上,取首尾记录进行运算”的情况。比如:打卡记录,期末对期初增幅等。因此,笔者向大伙推荐一个Oracle的keep语法。
特别地感谢一下oracle群的驴兄和温州·名次兄的指点。
正文:
直接上样例:
- select max(t_.dummy) keep(dense_rank first order by t_.code desc) - max(t_.dummy) keep(dense_rank last order by t_.code desc)
- from (select 6 as code, 6666 as dummy
- from dual
- union
- select 9 as code, 9999
- from dual
- union
- select 41 as code, 414141 from dual) t_;
评论暂时关闭