查詢時加序號給查詢出的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中的欄位名)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 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...