SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime
FROM data
ORDER BY id ASC
WHERE unixtime <= CURDATE() LIMIT 10;
或SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime
FROM data
ORDER BY id ASC
WHERE unixtime < CURDATE() LIMIT 10;
phpmyAdmin告诉我的全部是:#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 'WHERE unixtime <= CURDATE() LIMIT 10' at line 1
最佳答案
您将ORDER BY
和WHERE
子句颠倒了。
SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime
FROM data
WHERE unixtime < CURDATE()
ORDER BY id ASC LIMIT 10;
要么
SELECT id, content, UNIX_TIMESTAMP(timestamp) AS unixtime
FROM data
WHERE unixtime <= CURDATE()
ORDER BY id ASC LIMIT 10;
我刚刚意识到问题的一部分,因为您在
WHERE
子句中引用了别名:WHERE UNIX_TIMESTAMP(timestamp) <= CURDATE()
要么
WHERE UNIX_TIMESTAMP(timestamp) < CURDATE()
关于mysql - 此SQL语句有什么问题-语法错误#1064?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10556606/