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...