当我尝试将使用 LIMIT 的查询从 MYSQL 更改为 SQL-Server 时,我遇到了问题。
检查:
SELECT *
FROM tableEating
WHERE person = '$identity'
LIMIT 1;
我试图用一些查询来改变它,但没有任何效果。
当我尝试将使用 LIMIT 的查询从 MYSQL 更改为 SQL-Server 时,我遇到了问题。
检查:
SELECT *
FROM tableEating
WHERE person = '$identity'
LIMIT 1;
我试图用一些查询来改变它,但没有任何效果。
LIMIT 在 T-SQL 中不起作用。
您必须改用 TOP ,如下所示:
SELECT TOP(1) * FROM tableEating WHERE person='$identity';
我希望这对你有用。
正如 Aaron 所说,ORDER BY
如果您不想获得任意行,您还需要一个。
LIMIT
不起作用,TOP(1)
也可能在嵌套语句中不起作用。
所以正确的方法是使用OFFSET... FETCH NEXT
:
SELECT * FROM TableName
OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY
NEXT 1 ROWS ONLY
这基本上告诉 TSQL从第一行 ( ) 开始取一行 ( OFFSET 0
)。