欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增

程序员文章站 2022-06-02 07:52:35
...

http://www.cnblogs.com/tangself/archive/2010/09/29/1838234.html 这位园友有讲过,可以看一下,简单说,对于这个题目,用row_number可以写成这样: -- 园友文章中的写法,这也是微软官方文档里的写法 WITH B AS ( SELECT * ,ROW_NUMBER() OVER ( ORDER BY

http://www.cnblogs.com/tangself/archive/2010/09/29/1838234.html

这位园友有讲过,可以看一下,简单说,对于这个题目,用row_number可以写成这样:

--园友文章中的写法,这也是微软官方文档里的写法
WITH B AS (
SELECT *,ROW_NUMBER() OVER(ORDER BY ID ASC) AS ROW_NUM
FROM A WITH(NOLOCK)
)
SELECT *
FROM B WITH(NOLOCK)
WHERE ROW_NUM BETWEEN 31 AND 40

--我一般这么写
SELECT * FROM (
SELECT *,ROW_NUMBER() OVER(ORDER BY ID ASC) AS ROW_NUM
FROM A WITH(NOLOCK)
) B
WHERE ROW_NUM BETWEEN 31 AND 40