我有一个包含不同列的表。其中两个是用户和数据。我想查找上周没有记录的用户。
我到达了多远:
这给了我很好的记录,首先按用户排序,然后按日期排序:
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天没有任何记录的用户?
答案 0 :(得分:1)
使用GROUP BY
和HAVING
:
SELECT t1.user
FROM table1 t1
GROUP BY t1.user
HAVING MAX(t1.date) < DATE_ADD(CURDATE(), INTERVAL -7 DAY);
这将返回其最大日期过去超过一周的用户。这是另一种说法,即过去一周没有记录。