使用 LIMIT 关键 字 进行 SQL Server 查询 时 出现 语法 错误 [ 已 关闭 ]

hpxqektj  于 2022-11-21  发布在  SQL Server
关注(0)|答案(1)|浏览(1250)

**已关闭。**此问题为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
)
llmtgqce

llmtgqce1#

这里有两个问题。
首先是LIMITLIMIT不是ANSI标准的SQL。它是MySQL和SQLite中使用的专有扩展。SQL Server对此有自己的专有扩展(SELECT TOP),但它也支持使用OFFSET/FETCH的实际标准。
接下来是WHERE子句。这个查询在主WHERE子句中有一个嵌套的SELECT语句,用于查找date值...然后
不将其与任何内容进行比较
。没有条件运算。您需要对该结果进行某种布尔比较。

相关问题