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
)