【发布时间】:2011-09-12 20:21:02
【问题描述】:
我有 MySQL 服务器版本 5.1.53。我正在寻找一个小时来自己回答这个问题。包括在http://dev.mysql.com/doc/refman/5.1/en/select.html阅读文档本身
目前,我运行此查询。
SELECT dv2.timestamp
FROM data_val AS dv2
WHERE dv2.timestamp > '2011-06-10 22:26:25' ORDER BY dv3.timestamp DESC
LIMIT 1
然后我试图通过确定 MAX_QUERIES 减 1 的计算来消除 ORDER BY 语法。这样我可以写,
SELECT (COUNT(*)-1) total
FROM data_val AS dv2a
WHERE dv2a.timestamp > '2011-06-10 22:26:13'
最后查询变成了,
SELECT dv2.timestamp
FROM data_val AS dv2
WHERE dv2.timestamp > '2011-06-10 22:26:13'
LIMIT (
SELECT (COUNT(*)-1) total
FROM data_val AS dv2a
WHERE dv2a.timestamp > '2011-06-10 22:26:13'
), 1
错误是:
#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 '( SELECT (COUNT(*)-1) total FROM data_val AS dv2a ' at line 4
我还尝试将子查询放在OFFSET 语法之后。但仍然错误。
您知道为什么我的子查询不起作用吗?
我需要 short 的技术细节, 简单,以及干净的解释。
【问题讨论】:
标签: mysql sql syntax subquery limit