sql server 查询显示第10条到第20条信息

请问用sql server 查询显示第10条到第20条信息怎么做呢? 不要子查询
一句话搞定
表明为StuInfo

呵呵,我看了看其他的人的回答,大多都进行了排序,或者强制设置主键进行大小判断,这样的答复感觉还是欠妥的;

下面的方案在sql server 2014上面是测试通过的,具体的可以看:

select top 20 * from StuInfo
except
select top 9 * from StuInfo

具体的例子可以看下图:

注:我的数据库是 sql server 2014

希望对你有用哦,谢谢

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-01-26
一句干脆的SQL语法是无法查询出以上的结果的。不套着子查询是不可能的。
先选出前20行记录,再选前10行记录,作为两个表,做个减
select * from
(select top 20 * from stuinfo ) a
where not exists (select 1 from (select top 10 * from stuinfo) b where a.主键 = b.主键)本回答被提问者采纳
第2个回答  推荐于2018-02-26
SELECT TOP 11 * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY StuID) AS RowNumber, *
FROM StuInfo) t
WHERE RowNumber >= 10

假设StuID是StuInfo表的主键“学号”。先按学号排序,生成行号,再返回行号>=10时的前11条记录,即行号为10~20的11条记录。本回答被网友采纳
第3个回答  2011-04-08
select * from
(
select top 20 * from Table1 a where PK not in
(select top 10 PK from Table1 b order by PK)
order by PK
)
第4个回答  2018-02-24
(select * from task except select top 6 * from task) INTERSECT select top 9 * from task
TOP6-TOP9

写sql语句,完成查询表中第10条到第20条记录?
\\x0d\\x0a\\x0d\\x0asql server:select a.* from (select top 20 * from 表) as a where a.id not in (select top 9 b.id from 表 as b)\\x0d\\x0a\\x0d\\x0aoracle:select * from (select rownum rn,a.* from fnd_user a where rownum 9 ...

怎么使用sql server查询显示第10条到第20条信息?
select * from tablename where rownum<=10;1 rownum也可以实现数据分页查询:SELECT *FROM (SELECT a.*, ROWNUM rnFROM tablename a)WHERE rn >= 10 AND rn <= 201234567 这条语句即是输出第10到第20条纪录,这里之所以用rownum rn,是把rownum转成实例,因为rownum本身只能用 <=的比较方式,...

sql server 查询显示第10条到第20条信息
select top 20 * from StuInfo exceptselect top 9 * from StuInfo 具体的例子可以看下图:注:我的数据库是 sql server 2014 希望对你有用哦,谢谢

写出一条Sql语句:取出表A中第10到第20记录(注意:ID可能不是连续的...
SELECT TOP 10 FROM (select a.*,b.typename from 表1 a left join 表2 b on a.typeid=b.typeid) a WHERE ID >(SELECT MAX(id) FROM (SELECT TOP 20 id FROM 表1 ORDER BY id) b)ORDER BY ID

...语句高手,怎么从一个表中检索出第10条到第20条记录,(注:表中的...
select top 20 * from 表名 where 条件 and id not in(select top 10 id from 表名 where 条件)效率低了点 但是基本算实现功能了 oracle有方法实现 sql server 这个方法比较简单 创建临时表方法 存储过程利用游标操作效率也不比这个高

获取sql serverl数据库第10到20条数据
可这么写:SELECT top 10 * FROM (select top 20 * from News where news_class_id=109 order by news_id desc ) top_20 order by news_id SQL Server 2012 可这么写:select * from News where news_class_id=109 order by news_id desc OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;...

假如SQL server有海量数据,在不新建表的前提下,怎么查询第10条~20条...
select top 20 from table where id not in (select top 10 from table )

用SQL如何查询第几条到第几条之间的数据?想不出来呢,网上的答案都不行...
这好办,比如查询第10条到第20条数据,表是table1,列是lie1,lie2,那就是 select top 20 from table1 where lie1 not in(select top 10 lie1 from table1)括号里是查出前10条数据,然后查出所以的前20条数据,排除前10条,就是第10条到第20条了啊!这是我们一直在用的方法,思路很清晰、...

SQL选择第10-20条纪录按日期Date最新
Select Top 10 * From A where ID in (Select Top 20 ID from order by Date DESC) order by Date ASC Select Top 20 ID from order by Date DESC所得到的结果是一个集合所是不能用=号的,可以用in,把在该集合里存在的ID都取出来 ...

sql提取10到20个的数据问题
用MYSQL数据库就容易了,语法格式是:SELECT ... LIMIT 10,10 上面的LIMIT 10,10表示从第10条开始,取10条,这个语法支持使得MYSQL特别适合做INTERNET应用,因为INTERNET上经常有这样的需求,比如论坛帖子、邮件分页等。我不知道ACCESS、MS SQL SERVER是否有类似功能的语法,如果没有的话,你要获取10~...

相似回答