ITPub博客

首页 > 应用开发 > IT综合 > keep用法举例

keep用法举例

原创 IT综合 作者:liang573728 时间:2019-04-29 19:33:06 0 删除 编辑
keep可以提取dense_rank,rank等分析函数返回的first,last值,下面是用法举例[@more@]

SQL> select rowid rid, dt from tmp;

RID DT
------------------ -----------
AAAIVGAABAAAM/CAA5 2008-1-1
AAAIVGAABAAAM/CAA6 2008-1-4
AAAIVGAABAAAM/CAA7 2008-1-6
AAAIVGAABAAAM/CAA8 2008-1-8
AAAIVGAABAAAM/CAA9 2008-1-10
AAAIVGAABAAAM/CAA+ 2008-1-11

6 rows selected

SQL>
SQL> select min(rowid) keep(dense_rank first order by abs(dt - to_date('20080105', 'YYYYMMDD')), dt) rid,
2 min(dt) keep(dense_rank first order by abs(dt - to_date('20080105', 'YYYYMMDD')), dt) dt
3 from tmp;

RID DT
------------------ -----------
AAAIVGAABAAAM/CAA6 2008-1-4

SQL>


返回与20080105最接近的第一个数。


select max(dt) keep ( dense_rank last order by dt) dt from tmp

返回dt列中对大的数值

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/640706/viewspace-1024987/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2005-10-15

  • 博文量
    132
  • 访问量
    95804