我有一个表假定这样的MySQL需要帮助。我怎么可以过滤最大(日)
[表]
UID | UNAME
------------------
001 | a
002 | b
003 | c
[表b]
UID |日志
----------------------
001 | 2009/08/01
001 | 2009/08/03
003 | 2009/08/02
我想要这样的查询
UID | LASTLOG
--------------------
001 | 2009/08/03
002 | NULL
003 | 2009/08/02
结果我已经做到了,但是当我想添加过滤器lastlogin时,我遇到了一个问题,假设我输入了过滤器来显示上次登录之前的所有用户'2009/08/03 ',我想要这样的结果
UID | LASTLOG
--------------------
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
我如何添加一个过滤器,只显示最大值(logs.date)2009/08/03之前,因为管线3“其中,max(logs.date)< '2009/08/03' 由函数导致错误无效组 感谢
雅是结果没有错误,但与lastlogin 2009/08/03 uid 001仍然出现..有声明不做过滤? – 2009-08-24 01:37:12
由于您使用字符串来表示日期,而不是MySQL的内置日期类型,可能在'2009/08/03'字符串的末尾有一个空格? ('2009/08/03'在技术上大于'2009/08/03') – VoteyDisciple 2009-08-24 01:50:35
ohmygosh .. thx,它解决了!我使用日期类型变量,但它是关于分隔符。 mysql不使用'/'但'''大声笑.. tq所有家伙=) – 2009-08-24 01:55:32