您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)DMSQL LIMIT的限定條件是什么 ,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
在DM中,可以使用限定條件對(duì)結(jié)果集做出篩選,支持LIMIT子句和ROW_LIMIT子句兩種方式。
LIMIT子句
LIMIT子句按順序選取結(jié)果集中某條記錄開始的N條記錄。語法如下
::= LIMIT< <記錄數(shù)>
| < <記錄數(shù)>,< 記錄數(shù)>>
| < <記錄數(shù)> OFFSET < 偏移量>>
>
< 記錄數(shù)>::=< 整數(shù)>
< 偏移量>::=< 整數(shù)>
共支持三種方式:
1. LIMIT N:選擇前N條記錄;
2. LIMIT M,N:選擇第M條記錄之后的N條記錄;
3. LIMIT M OFFSET N:選擇第N條記錄之后的M條記錄。
注意:LIMIT不能與TOP同時(shí)出現(xiàn)在查詢語句中。
例如查詢前2條記錄
SQL> SELECT PRODUCTID , NAME FROM PRODUCTION.PRODUCT LIMIT 2; LINEID PRODUCTID NAME ---------- ----------- ------ 1 1 紅樓夢(mèng) 2 2 水滸傳 used time: 1.236(ms). Execute id is 39690.
例如查詢第3,4個(gè)登記的產(chǎn)品的編號(hào)和名稱。
SQL> SELECT PRODUCTID, NAME FROM PRODUCTION.PRODUCT LIMIT 2 OFFSET 2; LINEID PRODUCTID NAME ---------- ----------- -------------------- 1 3 老人與海 2 4 射雕英雄傳(全四冊(cè)) used time: 1.035(ms). Execute id is 39698.
例如查詢前第5,6,7個(gè)登記的姓名。
SQL> SELECT PERSONID,NAME FROM PERSON.PERSON LIMIT 4,3; LINEID PERSONID NAME ---------- ----------- ---- 1 5 孫麗 2 6 黃非 3 7 王菲 used time: 1.137(ms). Execute id is 39701.
ROW_LIMIT子句
用來指定查詢結(jié)果中,偏移位置的行數(shù)或者百分比行數(shù),以便更為靈活地獲取查詢結(jié)果。
語法如下
< ROW_LIMIT子句>::= [OFFSET ] []
::= FETCH < 大小> [PERCENT] < ROW | ROWS >
參數(shù)說明:
offset:指定查詢返回行的起始偏移。
FIRST | NEXT:FIRST為從偏移為0的位置開始。NEXT, 為從指定的偏移的下一行開始獲取結(jié)果。只做注釋說明的作用,沒有實(shí)際的限定作用。< 大小>[PERCENT]:指定返回行的行數(shù)(無PERCENT)或者百分比(有PERCENT)。ONLY | WITH TIES:指定結(jié)果集是否返回額外的行。額外的行是指與最后一行以相同的排序鍵排序的所有行。ONLY為只返回指定的行數(shù)。WITH TIES必須與ORDER BY子句同時(shí)出現(xiàn),如果沒有ORDER BY子句,則忽略WITH TIES。
參數(shù)限制:
1、offset:必須為數(shù)字。offset為負(fù)數(shù)的話視為0。offset為NULL或者大于或等于所返回的行數(shù),返回0行。offset為小數(shù)時(shí),小數(shù)部分截?cái)唷?br/>2、< 大小>:只能為數(shù)字。percent 指定為負(fù)數(shù)時(shí),視為0%。percent 為NULL,返回0行。如果percent都沒有指定,返回1行。
3、不能與一起使用。
4、使用了選項(xiàng),select列中不能包含有CURRVAL或者NEXTVAL偽列。
5、視圖的查詢定義中包含有,這個(gè)視圖不會(huì)增量刷新。
例如查詢價(jià)格最便宜的50%的商品
SQL> SELECT NAME, NOWPRICE FROM PRODUCTION.PRODUCT ORDER BY NOWPRICE FETCH FIRST 50 PERCENT ROWS ONLY; LINEID NAME NOWPRICE ---------- ---------------- -------- 1 老人與海 6.1000 2 突破英文基礎(chǔ)詞匯 11.1000 3 工作中無小事 11.4000 4 水滸傳 14.3000 5 紅樓夢(mèng) 15.2000 used time: 2.689(ms). Execute id is 39731.
例如查詢價(jià)格第3便宜開始的3條記錄
SQL> SELECT NAME, NOWPRICE FROM PRODUCTION.PRODUCT ORDER BY NOWPRICE OFFSET 2 ROWS FETCH FIRST 3 ROWS ONLY; LINEID NAME NOWPRICE ---------- ------------ -------- 1 工作中無小事 11.4000 2 水滸傳 14.3000 3 紅樓夢(mèng) 15.2000 used time: 2.543(ms). Execute id is 39735.
看完上述內(nèi)容,你們對(duì)DMSQL LIMIT的限定條件是什么 有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。