【发布时间】:2013-12-26 23:08:21
【问题描述】:
我有两个表,users 和 logins(login_time 列上的时间戳)
我正在尝试在 users 表中查找未登录超过 50 分钟的用户。
有些用户从未登录,这意味着他们在登录表中还没有条目,但我也需要能够在查询结果中找到他们,因为他们还没有登录。
这就是我所拥有的,但到目前为止,我只能在“登录”表中看到登录条目超过 50 分钟的用户,但任何其他从未登录的用户都没有出现。
mysql_query("
SELECT *
FROM users l
LEFT JOIN logins h
ON l.id = h.user_id
WHERE abs(timestampdiff(MINUTE,now(), h.`login_time`)) >'50'
")
如果我删除 WHERE 时间戳差异,我当然可以看到它们,但在 login_time 列中显示 NULL 值。
我怎样才能在结果中也显示其他用户?
谢谢。
【问题讨论】:
-
如果用户从未登录过,您可以将默认时间戳设置为-infinity
-
在 WHERE 子句中添加
OR h.user_id IS NULL...