我有一个表,我们称之为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
,该集合中过去 3 天内没有任何连接的所有user_connections
我尝试按location_id
分组并仅限制早于 "NOW () - 3 Days"
的条目,但我无法制定逻辑来仅获取具有最高可能ID
的条目(最后一个条目(
提前致谢
对查询进行排名,按位置 ID 分区,按创建日期排序。无论是直接查询还是在嵌套查询中,提取最高排名。
测试这个
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