⒈offset fetch next方式【sqlserver2012及以上版本支援】【推薦】
1select
*from
t_user
2order
byid
3 offset 5 rows /*
(頁數-1) * 條數 */4
fetch
next
5 rows only
/*條數
*/
⒉row_number() over()方式【sqlserver2005以上版本支援】
1select
*from
2 (select
*,row_number() over(order
by id) as orderid from t_user) ast3
where t.orderid between
11and154
/*(頁數-1)* 條數 + 1 */5
/*頁數 * 條數
*/
⒊top not in方式【適用於sqlserver2012以下版本】
1select
top5
*from
t_user
2where id not
in (select
top10 id from
t_user)34
/*top 條數 */5
/*top 條數 * 頁數
*/
⒋max(主鍵)方式【本質上還是top方式,適用於sqlserver2012以下版本】
1select
top5
*from t_user where id>=
2 (select
max(id) from (select
top6 id from t_user order
by id asc
) a)
3order
byid;4/*
top 條數*/5
/*top(頁數-1)* 條數 + 1
*/
分析:在資料量較大時
top not in方式:查詢靠前的資料速度較快
offset fetch next方式:速度穩定,優於前2種,但sql版本限制2012及以上才可使用
sqlserver複製環境幾種常見錯誤的修復方法
場景1 應用複製的刪除命令時在訂閱伺服器上找不到該行。這種情況一般是發布庫存到分發庫丟包導致了訂閱伺服器上的記錄缺少,正好刪除缺少的記錄時觸發的故障。解決方案 1 先檢視是哪個表哪條記錄缺少所致 usedistribution go sp browsereplcmds 0x0000003000000...
幾種常見的Shell
上面提到過,shell是一種指令碼語言,那麼,就必須有直譯器來執行這些指令碼。unix linux上常見的shell指令碼直譯器有bash sh csh ksh等,習慣上把它們稱作一種shell。我們常說有多少種shell,其實說的是shell指令碼直譯器。bash是linux標準預設的shell,...
常見的幾種排序
常見的排序 選擇排序 直接選擇排序 堆排序 交換排序 氣泡排序 直接交換排序 插入排序 直接插入排序 shell排序 折半插入排序 歸併排序 基數排序 1.選擇排序 1.1直接選擇排序 選擇排序 直接選擇排序 每迴圈一次取出其中最大或者最小的乙個 插入到靠前或者靠後的位置 當然第一次從0開始,第二次...