你问我答 >> 电脑培训 >> 数据库设计 >>SQL中排序后从第10个数据开始取5个数据怎么写?
问 题
SQL中排序后从第10个数据开始取5个数据怎么写?
悬赏分: 0提问时间: 2008-06-25 09:53:47 提问者: hopehaitun
select top 5 * from table order by score desc 是排序后取前5个, 我现在希望排序后取从第十位开始取前五位..
其他答案
回答者:asia119    2008-6-25 15:31:58
select *,row_number() over(order by score desc) as listid from table where (row_number() over(order by score desc))>10 and (row_number() over(order by score desc))<16
sql2005的写法
select top 5 * from table where score not in (select top 10 score from table order by score desc) order by score desc
sql2000的写法
回答者:w20lxh    2008-6-25 16:18:58
加一个标识列
然后用ID判断.


补:
改表结构,如果这个表里面没有一个合适做主键就以一个ID列做为主键,然后你可以将ID列设置为自动增长(identity(1,1))

这个ID列我们的叫发就是标识列.
回答者:tiankong    2008-6-25 17:27:58
select top 5 栏位名 from table order by score desc where 栏位名 not in (select top 9 栏位名 from table order by score desc)


最简便的方法
我要回答:
回答即可得2分,回答被采纳则获得悬赏分以及奖励20分。
还可输入1000个汉字
参考资料:
您还可输入60个字[积分规则]