写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续相关的知识,希望对你有一定的参考价值。

http://blog.sina.com.cn/s/blog_a342ff0a0101u3kb.html

sql server:

解1: select top 10 * from A where id not in (select top 30 id from A);

解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A);

按我的理解,

第一种方法: 首先根据ID查询前30条数据(默认正序),然后正序查询不在这30条数据中的前10条数据。

第二种方法: 首先根据ID正序查询前30条数据,求出ID最大的数据ID,再查询ID>max(id),即获取到要查询的数据。

以上是关于写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的主要内容,如果未能解决你的问题,请参考以下文章

在SQL中如果主键字段是不连续的 如何查出表中的第三四条数据

用一条SQL语句取出第 m 条到第 n 条记录的方法

mysql取出表中,某字段值最大的一条纪录,sql语句

在mysql语句中查询第四条到第十条记录代码怎么写?

优化SQL查询:如何写出高性能SQL语句

优化SQL查询:如何写出高性能SQL语句