首页 > 解决方案 > 需要互相查询7天内的所有记录

问题描述

我想获得基于日期的servicetag, 。ActivityIDcreated_on

这里的标准是我需要检索在 7 天内创建的所有记录。我需要为超过 100 条记录过滤相同的内容。

我能够在两个日期之间进行过滤。但是,当我意识到我可能必须比较每条记录的创建时间并检索彼此在 7 天内的数据时,我遇到了难题。

create table TicketInfo(Created_on datetime, 
                        ActivityType varchar(255), 
                        ServiceTag varchar(255), 
                        ActivityID varchar(255));  


ServiceTag       ActivityType         ActivityID        Created_on 

  FFF3FF          call-inbound         A-45879        2018-08-15 09:15:00  
  FFF3FF          email-inbound        A-45879        2018-08-13 09:15:00  
  FFF3FF          email-inbound        A-1234         2018-08-05 09:15:00  
  Z345FG          call-inbound         A-2345T        2018-08-03 09:10:00  

提前致谢!

标签: mysqlsqlmysql-workbench

解决方案


如果您的数据库是 mysql,则以下过滤器有效

   select * from TicketInfo where Created_on>= DATE_SUB(Created_on, INTERVAL 7 DAY) and
    Created_on<=Created_on

如果是 Sql Server 那么它应该是

   select * from TicketInfo where Created_on>= dateadd(day,-7,Created_on) and
    Created_on<=Created_on

但是如果是postgrey sql那么它应该是

     select * from TicketInfo 
    where Created_on>= Created_on- interval '7 days'
    and  Created_on<=Created_on

推荐阅读