この問題が発生した SO に関する質問に答えていました。
MAX()
内で使用できないのはなぜLIMIT
ですか?
SELECT *
FROM table
ORDER BY id DESC
LIMIT 0, MAX(id)
または
SELECT *, MAX(id) AS m
FROM table
ORDER BY id DESC
LIMIT 0, m
どちらも同様の構文エラーになります。
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MAX(id)' at line 4
希望のクエリ:
SELECT *
FROM table
ORDER BY id DESC
LIMIT 0, MAX(id)-5