我在简单机器论坛网络论坛软件中引用了两个表:smf_members 和 smf_members。smf_members 中的每一行都有一个字段:id_group,我对其中的值感兴趣:1、9、20、26、23、27(使用 IN() 子句)。总体目标是确定 smf_members 表中上述组 ID 中的哪些行在 90 天内没有在 smf_messages 中输入行。smf_messages 中的 poster_time 是一个 unix 时间戳。到目前为止,我所拥有的是:
SELECT
m.id_member,
m.id_group,
from_unixtime(max(ms.poster_time))
FROM
smf_members m
LEFT JOIN smf_messages ms
USING(id_member)
WHERE
max(ms.poster_time) < (NOW() < (86400 * 90)
GROUP BY
m.id_member
它失败并出现错误 1111:组函数的使用无效,因为我在 where 子句中使用了 max()。如何聚合我的加入结果以仅引用基于 poster_time 字段的最新条目?