sqlplus选择合并日期之间的记录

用户名

表名:document_archive_doc_perms

表说明:

 - location char(1),  document_id  number(5),  permission_id number(5),
   permission_type char(1), date_time_from date,  date_time_to date,
   ecode number(5), ecode_s number(2),  approved_by number(5),
   approved_by_ecode number(2), approved_on date, primary
   key(location,document_id,permission_id));

我的查询:

select permission_id,document_id,date_time_from,date_time_to,approved_on,permission_type from document_archive_doc_perms 
where document_id=3 and ecode=1695 and approved_on is not null and (sysdate between date_time_from and date_time_to);

我的输出是

PERMISSION_ID DOCUMENT_ID DATE_TIME DATE_TIME APPROVED_ P
------------- ----------- --------- --------- --------- -
            5           3 01-DEC-14 31-DEC-14 08-DEC-14 V
            7           3 09-DEC-14 31-DEC-14 09-DEC-14 P

在这里,我需要的是记录中的最新权限(即,permit_id的最大值),该如何做?

穆雷尼克

您可以使用分析rank()调用:

SELECT permission_id, 
       document_id, 
       date_time_from, 
       date_time_to, 
       approved_on, 
       permission_type
FROM   (SELECT permission_id, 
               document_id, 
               date_time_from, 
               date_time_to, 
               approved_on, 
               permission_type,
               RANK() OVER (ORDER BY perission_id ASC) AS rk
        FROM   document_archive_doc_perms 
        WHERE  document_id = 3 AND 
               ecode = 1695 AND 
               approved_on IS NOT NULL AND 
               SYSDATE BETWEEN date_time_from AND date_time_to
       )
WHERE  rk = 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

sqlplus选择合并日期之间的记录

来自分类Dev

选择在日期之间出现最少次数的记录

来自分类Dev

选择给定日期和日期之间的记录。

来自分类Dev

合并记录以重叠日期

来自分类Dev

在日期之间合并

来自分类Dev

选择日期介于当前日期和当前日期之间的记录-2

来自分类Dev

在日期之间匹配记录

来自分类Dev

根据日期选择记录

来自分类Dev

如何选择在日期范围之间的单独表中没有日期记录的服务器?

来自分类Dev

Rails 4:在当前日期和给定的特定日期/过去的天数之间选择记录

来自分类Dev

合并重叠日期的记录

来自分类Dev

在日期之间选择

来自分类Dev

在日期之间选择

来自分类Dev

查找日期范围之间的记录

来自分类Dev

查找日期范围之间的记录

来自分类Dev

查询以根据您所在的年份在两个日期之间选择记录

来自分类Dev

仅选择开始和结束时间与日期之间的记录

来自分类Dev

选择两个日期之间的间隔不超过3个月的记录

来自分类Dev

在IBM iSeries SQL上,选择日期在今天和30之间的所有记录

来自分类Dev

活动记录日期范围选择

来自分类Dev

选择多个在子句之间的记录

来自分类Dev

MySQL日期和间隔-日期之间的记录

来自分类Dev

根据记录R之间的差异选择记录

来自分类Dev

mysql选择日期之间

来自分类Dev

MySQL选择日期之间

来自分类Dev

Oracle选择今天之间的日期

来自分类Dev

日期选择之间的PHP SQL

来自分类Dev

在日期之间选择语句sqlite

来自分类Dev

检索日期在开始日期和结束日期之间的记录