从10-20如何返回特定行

时间:2014-03-15 20:38:25

标签: sql sql-server-2012

在SQL Server 2012中的此查询:

SELECT BusniessEntityID, LastName, FirstName
FROM Peron.product
ORDER BY LastName, FirstName

如何修改所写的查询,使其从第20行开始只返回10行。

2 个答案:

答案 0 :(得分:0)

SELECT BusniessEntityID, LastName, FirstName
FROM Peron.product
ORDER BY LastName, FirstName
LIMIT 19, 10

从第20条记录中限制为10条记录。 http://dev.mysql.com/doc/refman/5.5/en/select.html

修改: 虽然这是MySQL的语法......我不应该在晚上很晚才回答问题..,

<强> EDIT2 : SQL 2012通过offset和fetch支持此行为:http://dbadiaries.com/new-t-sql-features-in-sql-server-2012-offset-and-fetch

未经测试的查询:

SELECT BusniessEntityID, LastName, FirstName
FROM Peron.product
ORDER BY LastName, FirstName
OFFSET 19 ROWS
FETCH NEXT 10 ROWS ONLY;

它还显示了使用CTE的分页,也可以在旧版本的MSSQL中使用。

答案 1 :(得分:0)

我认为你正试图在SQL Server 2012中实现它。然后下面的查询可以帮助你

SELECT BusniessEntityID, LastName, FirstName
FROM Peron.product
ORDER BY LastName, FirstName
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;