PostgreSQL、Mysql中l(wèi)imit使用方法比較

發(fā)布時(shí)間:2024-03-23
在我們使用查詢語(yǔ)句的時(shí)候,經(jīng)常要返回前幾條或者中間某幾行數(shù)據(jù)。一般數(shù)據(jù)庫(kù)管理系統(tǒng)都會(huì)提供這些功能,但是各個(gè)dbms提供的查詢方法又有些不一樣。下面主要介紹mysql和postgresql在使用limit查詢其中幾行數(shù)據(jù)的區(qū)別。
mysql:
limit 子句可以被用于強(qiáng)制 select 語(yǔ)句返回指定的記錄數(shù)。limit 接受一個(gè)或兩個(gè)數(shù)字參數(shù)。參數(shù)必須是一個(gè)整數(shù)常量。如果給定兩個(gè)參數(shù),第一個(gè)參數(shù)指定第一個(gè)返回記錄行的偏移量,第二個(gè)參數(shù)指定返回記錄行的最大數(shù)目。初 始記錄行的偏移量是 0(而不是 1)。
為了與 postgresql 兼容,mysql 也支持句法: limit # offset #。具體舉例:
mysql> select * from table limit 5,10;? // 檢索記錄行 6-15
//為了檢索從某一個(gè)偏移量到記錄集的結(jié)束所有的記錄行,可以指定第二個(gè)參數(shù)為 -1:
mysql> select * from table limit 95,-1; // 檢索記錄行 96-last.
//如果只給定一個(gè)參數(shù),它表示返回最大的記錄行數(shù)目:
mysql> select * from table limit 5; //檢索前 5 個(gè)記錄行
//換句話說(shuō),limit n 等價(jià)于 limit 0,n。
postgresql:
如果給出了一個(gè)限制計(jì)數(shù),那么返回不超過(guò)那么多的行。(但可能更少些,因?yàn)椴樵儽旧砜赡苌傻男袛?shù)就比較少。) limit all 和省略 limit 子句一樣。
//b為起始值(不包括b),a為獲取數(shù)據(jù)長(zhǎng)度。
select * from table limit a offset b ;
//舉例:檢索記錄行6-15
select * from table limit 10 offset 5;
//如果只給定一個(gè)參數(shù),它表示返回最大的記錄行數(shù)目:
select * from table limit 5; //和mysql用法一樣;
//也就是說(shuō)“offset 說(shuō)明在開(kāi)始返回行之前忽略多少行。 offset 0 和省略 offset 子句是一樣的。”
當(dāng)然如果使用limit,那么用order by 子句把結(jié)果行約束成一個(gè)唯一的順序是一個(gè)好主意。否則你就會(huì)拿到一個(gè)不可預(yù)料的該查詢的行的子集。
上一個(gè):當(dāng)事人申請(qǐng)執(zhí)行轉(zhuǎn)破產(chǎn)程序
下一個(gè):B1級(jí)橡塑保溫板防火功能深受消費(fèi)者的喜愛(ài)

激光切割機(jī)在服裝布料應(yīng)用廣泛
手持式微型氣象站價(jià)格&寒潮“凍”真格了
關(guān)于ASTM A193 B8CL2/A193 B8MCL2高強(qiáng)度緊固件
ltc3780dc-dc升壓模塊_引腳配置_功能應(yīng)用-
工程造價(jià)預(yù)算中容易遺漏的99項(xiàng)(土建、安裝)
按茶葉的制作分類
LDX-4775電子產(chǎn)品屏幕透光率霧度測(cè)試儀
不交社保辭職怎么賠償
盜竊案件有哪些偵查方法
RTT023402BTH現(xiàn)貨庫(kù)存,最新價(jià)格
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos