Mysql 简单SQL查询导致组函数的使用无效

Mysql 简单SQL查询导致组函数的使用无效,mysql,sql,mysql-error-1111,Mysql,Sql,Mysql Error 1111,有人能告诉我为什么组函数被无效使用,以及如何阻止它吗 SELECT Name, Message FROM flux_chat_messages WHERE id >= ( MAX( id ) -5 ) ORDER BY id ASC 您不能在WHERE中使用MAX()。因此,将其包装在子查询中,如下所示: SELECT Name, Message FROM flux_chat_messages WHERE id >= (SELECT MAX( id ) - 5 FROM flux_

有人能告诉我为什么组函数被无效使用,以及如何阻止它吗

SELECT Name, Message
FROM flux_chat_messages
WHERE id >= ( MAX( id ) -5 )
ORDER BY id ASC
您不能在
WHERE
中使用
MAX()
。因此,将其包装在子查询中,如下所示:

SELECT Name, Message
FROM flux_chat_messages
WHERE id >= (SELECT MAX( id ) - 5 FROM flux_chat_messages)
ORDER BY id ASC
也许你也可以

SELECT Name, Message
FROM flux_chat_messages
ORDER BY id DESC
LIMIT 5
然后在程序中反转结果(或者使用另一个子查询)

Ah,我必须选择max(id)-5将其转换为可用数字。非常感谢。如果可以,我会接受:)