需要查询彼此之间在7天内的所有记录

时间:2018-08-05 04:28:36

标签: mysql sql mysql-workbench

我想根据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  

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的数据库是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