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

取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
解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)
解2中的as A是把A中的前三十的数据作为A?那再select top 10不是从前三十中选出前十?

即然ID是不连续的,那么再创建一个类似ID的连续值字段[CNTS]

select *
from
(
    -- ç”Ÿæˆä¸€ä¸ªå¸¦æœ‰è¿žç»­å€¼å­—段的表
    select *
        ,cnts=(select count(0) from tableA where id <=x.id)
    from tableA x
) a1
-- æŸ¥è¯¢ 31-40 ä¹‹é—´çš„数据
where cnts between 31 and 40追问

非常感谢您的回答,但是我想问的是解2中as A看不懂

温馨提示:内容为网友见解,仅供参考
无其他回答

跪求c#asp.net 试题 要求最好是选择题 谢谢
33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。答:解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) ...

写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作...
31条到40条就是10条数据 select top 10 * from 表名 where id not in (select id from 表名 )这样就可以过滤掉前面30条了,其中语句中的'id'值是用来过滤的,无论的你的ID是否连续,只要出现在子查询中的ID,主查询都会把他过滤掉,这样就可以实现31-40的查询了 望采纳 ...

...以自动增长的ID为主键,注意,ID可能不是连续的)
这个是取ID值.select top 10 * from (select top 40 * from tableA order by ID) order by ID desc 这个是取按ID排序的第31到40条记录 第二个可能有点错误.. 你可以百度一下 select top 的语法

sqlserver 如何查询 编号中不连续的编号 (空缺编号)
举个例子而言,你要查询表A中第31到40记录,ID自动增长,可能是不连续的。select * from A where ID>=31 and ID<=40 或者是 select top 10 from (select top 40 * from A order by ID) order by ID desc 或者是 select top 10 from A where ID not in (select ID from top 30 from...

写出一条Sql语句: 取出表A中第31到第40记录
select * from A where id between 31 and 40 或者 select top 40 * from ts_province except select top 30 * from ts_province 共同学习!

帮忙推荐一套.net网站开发面试题,谢谢
答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中。33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * from A ...

要查数据表中第30到40条记录,有字段ID,但是ID并不连续,如何写SQL语句...
例:select * from employees e where rownum betwon 30 and 40;解释:rownum -- 数据库会为出现在查询结果里的记录进行编号,从1开始。-- 请打印表里的前5行记录 select * from employees where rownum<=5;-- 请打印表里的第6到第10行记录 select * from employees where rownum between 6...

好心人 提供一份用友net软件工程师的笔试、面试题
5、写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)select top 10 * from A where id not in (select top 30 id from A)5、 DataReader与DataSet有什么区别?(1)、dataset表示一个数据集,是数据在内存中的缓存。 可以包括多...

sql server查找表里的内容
在企业管理器中使用select查询语句的方法:1。企业管理器--》数据库--》想要查找的数据库--》右键单击库下面的表--》选择打开表--》查询--》右键单击弹出的对话框--》显示窗格--》sql--》编写好SQL语句 再右键点运行

SQL语句选取某个区间的记录怎么编写
例如:写一个SQL语句,取出表S中第21~30记录(SQL server,以自动增长的ID作为主键,ID可能不连续)方法一:Select TOp10 * from S Where ID>(Select MAX(ID) from (Select Top20 ID from S ) as S)方法二:select Top10 * from S where ID NOT IN(select Top20 ID from S)...

相似回答