**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。
这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
10天前关闭。
截至9天前,机构群体正在审查是否重新讨论此问题。
Improve this question
我正在尝试运行此查询,但遇到错误
保留字'limit'附近有语法错误
SQL查询:
select *
from messages as msg
where "+"(SELECT date from messages where date between
msg.firsttime and msg.lasttime and receiver is null limit 1)
limit 5
除了“极限”关键字外,我的错误在哪里。
Select top 5 *
from messages as msg
where (
SELECT top 1 date
from messages
where date between msg.firsttime and msg.lasttime
and receiver is null
)
1条答案
按热度按时间llmtgqce1#
这里有两个问题。
首先是
LIMIT
。LIMIT
不是ANSI标准的SQL。它是MySQL和SQLite中使用的专有扩展。SQL Server对此有自己的专有扩展(SELECT TOP
),但它也支持使用OFFSET
/FETCH
的实际标准。接下来是
WHERE
子句。这个查询在主WHERE
子句中有一个嵌套的SELECT
语句,用于查找date
值...然后不将其与任何内容进行比较。没有条件运算。您需要对该结果进行某种布尔比较。