您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从datetime x min ago和datetime x min ago之间的mysql表中选择

从datetime x min ago和datetime x min ago之间的mysql表中选择

对于您的第一个查询

SELECT username
FROM online
WHERE time > Now() - INTERVAL 15 MINUTE

第二点:

SELECT username
FROM online
WHERE time BETWEEN Now() - INTERVAL 60 MINUTE AND Now() - INTERVAL 15 MINUTE

这两个查询均假设每个用户在联机表中仅出现一次(如果确实如此,则应添加UNIQUE约束以强制执行此操作)。

如果用户名可以在表中多次出现,则只需要在SELECT之后为第一个查询添加DISTINCT,但是对于第二个查询,您需要使用略有不同的方法

SELECT DISTINCT username
FROM online
WHERE time > Now() - INTERVAL 60 MINUTE
AND NOT EXISTS
(
    SELECT *
    FROM online
    WHERE time > Now() - INTERVAL 15 MINUTE
)
MySQL 2022/1/1 18:48:59 有288人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶