DMSQLLIMIT的限定条件是什么-创新互联

今天就跟大家聊聊有关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的限定条件是什么 有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联-成都网站建设公司行业资讯频道,感谢大家的支持。


当前标题:DMSQLLIMIT的限定条件是什么-创新互联
文章出自:http://hbruida.cn/article/dcgddg.html