日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

常見數據庫分頁SQL語句

系統 1932 0
本文轉自: http://hi.baidu.com/wlw7758/blog/item/f6b0b9110d2a097aca80c4e4.html

我們在編寫MIS系統和Web應用程序等系統時,都涉及到與數據庫的交互,如果數據庫中數據量很大的話,一次檢索所有的記錄,會占用系統很大的資源,因此 我們常常采用,需要多少數據就只從數據庫中取多少條記錄,即采用分頁語句。根據自己使用過的內容,把常見數據庫Sql Server,Oracle和My sql的分頁語句,從數據庫表中的第M條數據開始取N條記錄的語句總結如下

SQL Server (先前有錯誤..修正之..)
??????? 從數據庫表中的第M條記錄開始取N條記錄,利用Top關鍵字:注意如果Select語句中既有top,又有order by,則是從排序好的結果集中選擇:
???????? SELECT Top N *

???????? FROM TestTable where id not in (SELECT Top (M - 1) id FROM TestTable Order by id)

#FROM TestTable where id not in (SELECT Top (M + N - 1) id FROM TestTable Order by id)

???????? ( 也可得到子查詢中的 max(id) ,然后主查詢 where 用 id > 子.id )
???????? 例如從表Sys_option(主鍵為sys_id)中從10條記錄開始檢索20條記錄,語句如下:
???????? SELECT Top 10 *
???????? FROM Sys_option where sys_id not in ( SELECT TOP 20 sys_id FROM Sys_option order by sys_id)


Oralce數據庫
從數據庫表中第M條記錄開始檢索N條記錄
???????? SELECT *
???????? FROM (SELECT ROWNUM r,t1.* From 表名稱 t1 where rownum < M + N) t2
???????? where t2.r >= M
???????? 例如從表Sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
??????? SELECT *
???????? FROM (SELECT ROWNUM R,t1.* From Sys_option where rownum < 30 ) t2
????????? Where t2.R >= 10

My sql數據庫
My sql數據庫最簡單,是利用mysql的LIMIT函數,LIMIT [offset,] rows從數據庫表中M條記錄開始檢索N條記錄的語句為:
???????? SELECT * FROM 表名稱 LIMIT M,N

????????? 例如從表Sys_option(主鍵為sys_id)中從10條記錄還是檢索20條記錄,語句如下:
???????? select * from sys_option limit 10,20

常見數據庫分頁SQL語句


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 濮阳市| 阿荣旗| 错那县| 图们市| 靖宇县| 奇台县| 榆林市| 五莲县| 九江市| 兴安县| 稷山县| 龙江县| 海淀区| 平安县| 永定县| 三都| 浮梁县| 张掖市| 济源市| 望江县| 和平县| 鄂伦春自治旗| 曲靖市| 宣化县| 海林市| 内乡县| 巴南区| 韩城市| 格尔木市| 从江县| 若羌县| 宜州市| 江西省| 天祝| 博客| 崇阳县| 吉木萨尔县| 赞皇县| 治多县| 卓资县| 舞钢市|