sql取前20條資料的後10條資料(通用)

2021-05-21 15:39:48 字數 1133 閱讀 6597

sql在沒有id主鍵或單一主鍵(即組合主鍵或沒有主鍵的情況),如何取前20條資料的後10條資料,一般通用的方法仍是用臨時表,效率一般,但比較通用,在各種情況下均可用此方法...由此也可衍生出sql的分頁儲存過程,尤其適合經常對不同表的資料進行分頁,格外適用.

當然,方法並非這一種,具體視不同情況設計最優的sql語句或儲存過程.但思想是想通的...

--start

create table t

(t01 varchar(20),

t02 char(10),

t03 datetime)

insert into t values ('601','801','2009-12-23')

insert into t values ('602','802','2009-12-22')

insert into t values ('603','803','2009-12-21')

insert into t values ('604','804','2009-12-20')

insert into t values ('605','805','2009-12-24')

insert into t values ('606','806','2009-12-25')

insert into t values ('607','807','2009-12-23')

insert into t values ('608','808','2009-12-22')

insert into t values ('609','809','2009-12-21')

insert into t values ('610','810','2009-12-22')

select identity(int,1,1) as t05,* into #t from t

select *

from

(select top 8 *

from #t

) as t1

where

t05

not in

(select top 3 t05

from

(select top 8 *

from #t

) as t2

)--end

獲取前10條和第10到20條資料sql

oracle rownum是把sql出來的結果進行編號,始終從1開始,常見的用途就是用來分頁輸出。select from ts user where rownum 11 select from select from ts user order by id desc where rownum 10 ...

sql server 分組後,取每組前1條資料

sql 排名開窗函式 row number dense rank rank ntile屬於排名函式。排名開窗函式可以單獨使用order by 語句,也可以和partition by同時使用。partition by用於將結果集進行分組,開窗函式應用於每一組。oder by 指定排名開窗函式的順序。在...

oracle分組取前5條資料

語句如下 select from select t.row number over partition by 分組字段 order by 排序字段 rn from 表名字 t where rn 6 示例 select from select t.row number over partition b...