这个是表格排序的问题,需要确定排序情况,才能确定top20会取什么数据。
创新互联建站是一家集成都网站设计、成都做网站、网站页面设计、网站优化SEO优化为一体的专业网站制作公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。
先从所有记录里面取前20,
然后把记录降序排序后再取前10
效果就是取第11-20条记录
1、创建测试表,
create table test_order(id number , value varchar2(20));
2、插入测试数据
insert into test_order select 100+level as id, 'value_'||level from dual connect by level=100;
commit;
3、查询表中全量数据,select t.* from test_order t;
4、编写sql,根据ID进行排序,查询第20条数据到30条数据;
select * from (select t.*, row_number() over(order by id) rn from test_order t )
where rn = 20 and rn = 30;
若为oracle数据库,则使用rownom来进行查询
select * from
(
select * from 班级信息
order by 成绩 desc
)
where rownom=20
;
-------推荐答案oracle数据库那个sql语句有问题,查出来的还是表里面前20条数据,只是把这20条数据给降序排列了,而不是最大成绩的前20.
--------------------------------------
若为sqlserver,则为
select top 20 成绩
from 班级信息
order by 成绩 desc
;
-- SQLServer
select top 20 percent * From 用户信息表名称 order by 积分 desc
本文标题:sqlserver前20,sql取前20%
网页网址:https://www.cdcxhl.com/article36/dsidcpg.html
成都网站建设公司_创新互联,为您提供建站公司、、企业网站制作、企业建站、品牌网站设计、网站排名
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联