11

当我尝试将使用 LIMIT 的查询从 MYSQL 更改为 SQL-Server 时,我遇到了问题。

检查:

SELECT * 
FROM tableEating 
WHERE person = '$identity' 
LIMIT 1;

我试图用一些查询来改变它,但没有任何效果。

4

2 回答 2

13

LIMIT 在 T-SQL 中不起作用。

您必须改用 TOP ,如下所示:

SELECT TOP(1) * FROM tableEating WHERE person='$identity';

我希望这对你有用。

正如 Aaron 所说,ORDER BY如果您不想获得任意行,您还需要一个。

于 2012-05-03T22:18:55.473 回答
1

LIMIT不起作用,TOP(1)也可能在嵌套语句中不起作用。

所以正确的方法是使用OFFSET... FETCH NEXT

SELECT * FROM TableName
OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY

NEXT 1 ROWS ONLY这基本上告诉 TSQL从第一行 ( ) 开始取一行 ( OFFSET 0)。

于 2017-07-25T02:57:16.757 回答