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.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2678147/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android SQL,你用對了嗎(一)——條件限定AndroidSQL
- DMSQL WITH FUNCTION子句SQLFunction
- DMSQL TOP子句SQL
- DMSQL DM自增列的使用SQL
- 條件反射反射
- 條件渲染
- SQL中on條件與where條件的區別[轉]SQL
- PL/SQL 條件SQL
- react 條件渲染React
- 條件和排序排序
- 條件技術
- 條件型別型別
- 條件語句
- 屈服條件8
- 條件函式函式
- Excel 條件格式Excel
- MySQL 中 一條 order by index limit 語句的分析MySqlIndexMIT
- excel條件格式怎麼設定 excel條件格式在哪裡Excel
- Rust 條件編譯Rust編譯
- switch拼接where條件
- impala 條件函式函式
- JavaScript 條件運算子JavaScript
- github條件搜尋Github
- GO 條件語句Go
- jquery 多條件匹配jQuery
- js條件運算子JS
- MongoDB查詢條件MongoDB
- javaScript條件語句JavaScript
- MongoDB條件查詢MongoDB
- openGauss 前提條件
- mysql條件查詢MySql
- Selenium等待條件
- doxygen 宏定義/宏編譯/條件編譯/預處理/預編譯 不處理、忽略條件、分析所有條件、滿足所有條件的方法編譯
- 「譯」編寫更好的 JavaScript 條件式和匹配條件的技巧JavaScript
- Oracle 是分割槽表,但條件不帶分割槽條件的SQLOracleSQL
- Laravel 多條件查詢Laravel
- 32、條件格式和公式公式
- Laravel-orWhere條件式Laravel