這個是表格排序的問題,需要確定排序情況,才能確定top20會取什么數(shù)據(jù)。

創(chuàng)新互聯(lián)建站是一家集成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)站頁面設(shè)計、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站制作公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗,以探求精品塑造與理念升華,設(shè)計最適合用戶的網(wǎng)站頁面。 合作只是第一步,服務(wù)才是根本,我們始終堅持講誠信,負(fù)責(zé)任的原則,為您進行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場環(huán)境中,互促共生。
先從所有記錄里面取前20,
然后把記錄降序排序后再取前10
效果就是取第11-20條記錄
1、創(chuàng)建測試表,
create table test_order(id number , value varchar2(20));
2、插入測試數(shù)據(jù)
insert into test_order select 100+level as id, 'value_'||level from dual connect by level=100;
commit;
3、查詢表中全量數(shù)據(jù),select t.* from test_order t;
4、編寫sql,根據(jù)ID進行排序,查詢第20條數(shù)據(jù)到30條數(shù)據(jù);
select * from (select t.*, row_number() over(order by id) rn from test_order t )
where rn = 20 and rn = 30;
若為oracle數(shù)據(jù)庫,則使用rownom來進行查詢
select * from
(
select * from 班級信息
order by 成績 desc
)
where rownom=20
;
-------推薦答案oracle數(shù)據(jù)庫那個sql語句有問題,查出來的還是表里面前20條數(shù)據(jù),只是把這20條數(shù)據(jù)給降序排列了,而不是最大成績的前20.
--------------------------------------
若為sqlserver,則為
select top 20 成績
from 班級信息
order by 成績 desc
;
--?SQLServer
select?top?20?percent??*?From?用戶信息表名稱?order?by?積分?desc
本文標(biāo)題:sqlserver前20,sql取前20%
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article36/dsidcpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、、企業(yè)網(wǎng)站制作、企業(yè)建站、品牌網(wǎng)站設(shè)計、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)