mysql - 此SQL语句有什么问题-语法错误#1064?

标签 mysql sql syntax syntax-error

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 BYWHERE子句颠倒了。

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/

相关文章:

javascript - 如何使用 jQuery 检查某个元素是否至少具有指定类列表中的一个类?

php - INSERT 语句不工作 mysql

sql - 如何在 BigQuery 的标准 SQL 中编写 LEFT JOIN?

sql - 条件连接 SQL Server

sql - mysql查询以选择除以外的所有内容

mysql - SQL 将 'mm/dd/yy' 字符串转换为日期格式

MySQL索引计算?

mysql - 如何在 Perl 中设置要处理的消息?

mysql - 每周表的正确结构和索引

c++ - 使用 std::find 从 vector 中选择一个项目