修改少于5天的记录和修改超过5天的记录(和百分比)

时间:2019-04-23 10:04:14

标签: sql oracle

我有2列Service_dateModify_date 在同一张表中,我想知道直到 modify 为止经过5天的记录的数量,以及未通过的记录的数量,以及未通过的记录的百分比

想要的输出:

  

(通过5天的记录数)| (未通过5天的记录数)| (未通过5天的记录的百分比百分比)

1 个答案:

答案 0 :(得分:1)

如果仅考虑Service_date,则

select count(case when Service_date >  trunc(sysdate) - 5 then 1 end ) as new_records,
       count(case when Service_date <= trunc(sysdate) - 5 then 1 end ) as old_records,
       100*(count(case when Service_date >  trunc(sysdate) - 5 then 1 end ) / count(*))
       as percentage_for_new
  from maintenance;

会提供您想要的东西,但是我认为您需要旧记录的开始日期。 Modify_date可以用相同的方式考虑。