我有一张像这样假设的桌子
[表a]
UID | UNAME
------------------
001 | 002
| 003
| C
[表b]
UID | 日志
----------
001 | 2009/08/01
001 | 2009/08/03
003 | 2009/08/02
我想要这样的
UID 查询 | 上一个日志
--------------------
001 | 2009/08/03
002 | 空
003 | 2009/08/02
这个结果我已经完成了,但是当我想添加过滤器 lastlogin 时遇到了一个问题,假设如果我输入过滤器以显示在 '2009/08/03' 之前具有 lastlogin 的所有用户,我想要这样的结果
识别码 | 上一个日志
--------------------
003 | 2009/08/02
消除了 UID 001,因为 001 在 2009/08/03 有 lastlogin
我使用这样的 sql 命令
SELECT a.uid, max(logs.date)
FROM user a LEFT JOIN logs ON (a.uid = logs.uid)
where max(logs.date)<'2009/08/03'
group by a.uid
如何添加过滤器以仅显示 2009/08/03 之前的 max(logs.date),因为第 3 行“max(logs.date)<'2009/08/03' 会导致错误无效 group by function。谢谢