根据日期(过去 30 天)获取记录 [重复]

Posted

技术标签:

【中文标题】根据日期(过去 30 天)获取记录 [重复]【英文标题】:Get records based on date (last 30 days) [duplicate] 【发布时间】:2017-07-06 14:46:19 【问题描述】:

我正在尝试根据最近 30 天的 comment_date 和 create_user_id 获取记录。因此,对于 user_id 'BOB' 它不应该返回任何记录,因为有 2/13 和 2/14 的记录(在 comment_date 的 30 天内)。 “STEVE”、“JOHN”和“KEN”也是如此。如何编写 user_id 'TOM'(案例 2)、'KEN'(案例 3)和 'ROSS'(案例 4)的查询?谢谢

comments_sk case    comments         create_user_id   comment_date
120          1      user_comment-1      JOHN           2/16/2017
121          1      user_comment-2      BOB            2/14/2017
122          1      user_comment-3      BOB            1/13/2017
123          2      user_comment-1      BOB            2/13/2017
124          2      user_comment-2      STEVE          2/13/2017
125          2      user_comment-3      TOM            1/13/2017
126          3      user_comment-1      JOHN           2/12/2017
127          3      user_comment-2      JOHN           1/12/2017
128          3      user_comment-3      KEN            1/11/2017
129          4      user_comment-1      KEN            2/14/2017
130          4      user_comment-2      ROSS           1/7/2017

【问题讨论】:

where comment_date > DATE_ADD(NOW(), INTERVAL -30 DAY) ***.com/questions/2041575/… 使用NOT EXISTS 子查询 【参考方案1】:
 SELECT * 
 FROM 
      Your_Table 
 WHERE 
      Comment_date >= DATEADD(day,-30, GETDATE())  
      and Create_user_id in ('KEN','TOM','ROSS')
      and Comments = ''

【讨论】:

Kinchit, --返回所有记录。我想要“用户 ID KEN、TOM 或 ROSS 在最后几天没有评论” Kinchit,评论字段永远不会为空或为空,因此此查询不会返回任何内容。

以上是关于根据日期(过去 30 天)获取记录 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

我在 SQL 中有一个列出所有事件的表。我想要在 30 天前记录事件但不是在 [重复] 之后记录事件的用户

PHP - 如何从 MySQL 中选择过去 30 天的记录 [重复]

检查日期是不是存在(第 30 天/第 31 天)[重复]

SQL 根据当前日期减去两天选择记录

如何使用窗口函数获取每个日期值的今天、过去 7 天、过去 30 天的指标?

过去 30 天的平均值,不包括当前记录(混合日期和基于行的条件)