提问人:Murat Şenel 提问时间:11/10/2022 最后编辑:halferMurat Şenel 更新时间:11/11/2022 访问量:325
使用 LIMIT 关键字 [closed] 的 SQL Server 查询中的语法错误
Syntax error in SQL Server query with LIMIT keyword [closed]
问:
我正在尝试运行此查询,但出现错误
关键字“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赞
Joel Coehoorn
11/10/2022
#1
这里有两个问题。
首先是.LIMIT
不是 ANSI 标准 SQL。它是 MySQL 和 SQLite 中使用的专有扩展。SQL Server 对此 () 有自己的专有扩展,但它也支持使用 OFFSET/
FETCH
的实际标准。LIMIT
SELECT TOP
接下来是条款。此查询在 main 子句中有一个嵌套语句,用于查找值...然后不将其与任何东西进行比较。没有条件操作。您需要对此结果进行某种布尔比较。WHERE
SELECT
WHERE
date
评论
0赞
Murat Şenel
11/10/2022
是的,我当然理解limit关键字。但是 ı 在 where 子句附近没有看到错误
0赞
Ozan Sen
11/11/2022
您需要一个这样的表达式:where date = (Your_Subquery)
评论
WHERE "+"(SELECT...
没有任何意义;这试图实现什么?此外,T-SQL 中没有运算符/关键字。T-SQL 使用TOP
。LIMIT
SELECT ... FROM ... LIMIT xx
SELECT TOP xx ... FROM ...
"+"(...
"+"