>我在表格中有两个日期列,一个用于发布问题的日期,另一个用于回答。例如,每当提出一个新问题时,其日期都存储在q_date列中,每当有人回答该问题时,其日期都存储在a_date列中。现在我希望在一周内提出所有问题,并在一周内回答所有问题。任何人都可以使用联接或子查询向我解释查询吗
您可以尝试以下查询:
SELECT *
FROM yourTable
WHERE
q_date >= DATE(NOW()) - INTERVAL 7 DAY OR
a_date >= DATE(NOW()) - INTERVAL 7 DAY
这将返回与过去 7 天内发生的问题或答案相对应的所有记录。
您可以使用如下查询:
Select * from q_ans where DATEDIFF(WEEK,q_ans.q_date,q_ans.a_date) = 1
这将给出回答日期在问题日期的一周范围内的所有记录
您需要为 BETWEEN 子句添加 AND 条件。你可以试试
WHERE q_ans.a_date BETWEEN date_sub( NOW(), INTERVAL 1 WEEK) AND NOW()