sql查詢時增加自動編號和分頁

2022-03-11 17:17:40 字數 2217 閱讀 5648

查詢時加序號  

a:沒有主鍵的情形:

select

identity(int,1,1) as

iid,

*into #tmp from

tablename

select

*from

#tmp

drop

table

#tmp

b:有主鍵的情形:

select (select

sum(1) from

tablename

where keyfield <= a.keyfield) as iid,*

from

tablename a

eg:select (select

sum(1) from user_admin where

id<=a.id) as id,id,displayname from user_admin a order

by a.id asc

select 序號= (select

count(客戶編號) from 客戶 as liming where liming.客戶編號<= chang.客戶編號), 客戶編號, 公司名稱 from 客戶 as chang order

by1; go

/*方法二: 使用sql server 2005 獨有的rank() over () 語法

*/select rank() over (order

by 客戶編號 desc) as 序號, 客戶編號, 公司名稱 from 客戶; go

/*方法三

*/select 序號=

count(*), liming.客戶編號, liming.公司名稱 from 客戶 as liming, 客戶as chang where liming.客戶編號》= chang.客戶編號 group

by liming.客戶編號, liming.公司名稱 order

by 序號; go

/*方法四 建立乙個「自動編號」的字段,然後將資料新增至乙個區域性暫存資料表, 然後由該區域性暫存資料表中,將資料選取出來,最後刪除該區域性暫存資料表

*/select 序號=

identity(int,1,1), 管道, 程式語言, 講師, 資歷 into #liming from 問券調查一; go

select

*from #liming; go

drop

table #liming; go

/*方法五 使用 sql server 2005 獨有的row_number() over () 語法 搭配 cte (一般資料表表示式,就是 with 那段語法)選取序號2 ~ 4 的資料

*/with 排序後的圖書 as (select row_number() over (order

by 客戶編號 desc) as 序號, 客戶編號, 公司名稱 from 客戶) select

*from 排序後的圖書 where 序號 between

2and

4; go

------------分頁使用---------------------------

select rank() over (order

by id asc) as no,*

into #temp

from bbs_reply select

*from #temp

where no between

1and

100drop

table #temp

-------------------------------序號

給查詢出的sql記錄新增序號列,解決方法有以下兩種 第一:

select row_number() over (order by a.欄位 asc) as xuhao,a.* from table a1

(table 為表名,欄位為表a中的欄位名) 第二:

select rank()  over (order by a.欄位 asc) as xuhao,a.* from table a1

(table 為表名,欄位為表a中的欄位名)

sql連線查詢,子查詢和分頁查詢

內連線查詢,有效的去除笛卡爾積,分兩種 根據所使用的比較方式不同,內連線分為等值連線 自然連線和自連線三種 舉乙個自連線例子 select e.name,m.name from employees e join employees m on e.id m.id 分為左外連線和右外連線,用於查詢乙個表...

動態sql模糊查詢和分頁

select from t mvc book select from t mvc book select from t mvc book where bid in select from t mvc book and bname like select from t mvc book and bid...

mssql 和oracle 分頁查詢的sql語句

最近在處理一些外部系統的資料庫,需要查詢是按照順序匯入到系統資料庫中,對於大資料量的處理分頁查詢不可缺少。系統中用到了兩類資料庫mssql和oracle,從網上找了語句查詢方便了程式操作。mssql with t1 as select row number over order by 主鍵 desc...