选择数据库中最后插入的日期早于X天的项目

时间:2019-06-18 22:52:25

标签: mysql

我有一个表,我们称它为user_connections,该表类似于以下示例: user_connections

| id | location_id | user_id |        ip       |  created_at         |
| 1  |       3     |     2   | 231.134.123.123 | 2019-06-15 10:00:00 |
| 2  |       7     |     5   | 231.134.123.123 | 2019-06-17 12:32:43 |
| 3  |       8     |     9   | 231.134.123.123 | 2019-06-18 17:23:45 |

我想要的是:给定location_id的集合,该集合中的所有user_connections在最近3天内都没有任何关联

我尝试按location_id分组,并且仅限制早于"NOW () - 3 Days"的条目,但是我无法使逻辑仅获得具有最高ID的条目(最后条目)

预先感谢

2 个答案:

答案 0 :(得分:0)

对查询进行排名,按位置ID分区,按创建日期排序。无论是直接查询还是嵌套查询,都将获得最高排名。

答案 1 :(得分:0)

对此进行测试

SELECT 
    MAX(id), location_id, user_id, ip, created_at
FROM
    user_connections
WHERE
    created_at > NOW() - INTERVAL 3 DAY
GROUP BY location_id
ORDER BY id ASC
相关问题