溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

DMSQL LIMIT的限定條件是什么

發(fā)布時(shí)間:2021-11-30 14:37:04 來源:億速云 閱讀:254 作者:柒染 欄目:數(shù)據(jù)庫

今天就跟大家聊聊有關(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è)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(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)容。

AI