首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >前一天下午5点到今天下午5点记录按今天的日期分组

前一天下午5点到今天下午5点记录按今天的日期分组
EN

Stack Overflow用户
提问于 2019-10-23 03:35:53
回答 1查看 68关注 0票数 0

我有一个要求,我必须确定一条记录是新的还是修改过的。

我们将新的和修改过的记录存储在具有最新时间戳的同一个表中,用户可以随时更新记录,但我们每天下午5点生成一次报告。如果在过去24小时内(即前一天下午5点到今天下午5点)创建了一条记录,由于报告是在下午5点生成的,我们必须将该记录视为新记录,即使该记录在报告窗口时间内被多次修改也是如此。如果一条记录是在超过24小时前创建的,并且在过去24小时内被修改,那么我们必须将其视为已修改。

我已经写了查询,但我需要它的小组早上5点到下午5点,我不知道怎么做,任何人请帮助!

代码语言:javascript
复制
select emp_id,
       case 
       when count(emp_id) <=1
       then 'New'
       else 'Modified'
       END as status
from   (
  select emp_id,
         emp_status,
         trunc(last_updated) as last_updated
  from employee
) 
group by emp_id,
         emp_status,
         trunc(last_updated)
order by last_updated)
group by emp_id
order by emp_id;
EN

回答 1

Stack Overflow用户

发布于 2019-10-23 03:43:45

从截断前的时间中减去17小时,然后对其进行分组:

代码语言:javascript
复制
select emp_id,
       case 
       when count(emp_id) <=1
       then 'New'
       else 'Modified'
       END as status
from   (
  select emp_id,
         emp_status,
         trunc(last_updated - INTERVAL '17' HOUR) as last_updated
  from employee
) 
group by emp_id,
         emp_status,
         last_updated
order by last_updated
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58511170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档