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