SQL:最近一周没有记录

时间:2018-10-25 10:52:35

标签: php mysql sql

我有一个包含不同列的表。其中两个是用户和数据。我想查找上周没有记录的用户。

我到达了多远:

这给了我很好的记录,首先按用户排序,然后按日期排序:

SELECT * 
FROM table1  
ORDER BY user, date

我还可以找到将一个星期存储在var中的方法:

$oneWeek = strtotime("-1 week");
$oneWeek = date("Y-m-d H:i:s", $oneWeek);
echo $oneWeek . "<br>";

有没有办法选择过去7天没有任何记录的用户?

1 个答案:

答案 0 :(得分:1)

使用GROUP BYHAVING

SELECT t1.user
FROM table1 t1
GROUP BY t1.user
HAVING MAX(t1.date) < DATE_ADD(CURDATE(), INTERVAL -7 DAY);

这将返回其最大日期过去超过一周的用户。这是另一种说法,即过去一周没有记录。