DMSQL TOP子句

在DM中,可以使用TOP子句来筛选结果。语法如下:
::=TOP
| < ,>
|
PERCENT
|
WITH TIES
|
PERCENT WITH TIES
::=整数(>=0)
参数
1. TOP
选择结果的前n条记录。
2. TOP , 选择第n1条记录之后的n2条记录。
3. TOP PERCENT 表示选择结果的前n%条记录。
4. TOP
PERCENT WITH TIES 表示选择结果的前n%条记录,同时指定结果集可以返回额外的行。额外的行是指与最后一行以相同的排序
键排序的所有行。WITH TIES必须与ORDER BY子句同时出现,如果没有ORDER BY子句,则忽略WITH TIES。

例如查询现价最贵的两种产品的编号和名称。

SQL> SELECT TOP 2 PRODUCTID,NAME FROM PRODUCTION.PRODUCT
2   ORDER BY NOWPRICE DESC;

LINEID     PRODUCTID   NAME
---------- ----------- -------------------
1          10          噼里啪啦丛书(全7册)
2          6           长征

used time: 2.906(ms). Execute id is 39552.

例如查询现价第二贵的产品的编号和名称。

SQL> SELECT TOP 1,1 PRODUCTID,NAME FROM PRODUCTION.PRODUCT
2   ORDER BY NOWPRICE DESC;

LINEID     PRODUCTID   NAME
---------- ----------- ----
1          6           长征

used time: 2.768(ms). Execute id is 39555.

例如查询最新出版日期的70%的产品编号、名称和出版日期。

SQL> SELECT TOP 70 PERCENT WITH TIES PRODUCTID,NAME,PUBLISHTIME FROM PRODUCTION.PRODUCT ORDER BY PUBLISHTIME DESC;

LINEID     PRODUCTID   NAME                               PUBLISHTIME
---------- ----------- ---------------------------------- -----------
1          7           数据结构(C语言版)(附光盘)      2007-03-01
2          5           鲁迅文集(小说、散文、杂文)全两册 2006-09-01
3          6           长征                               2006-09-01
4          3           老人与海                           2006-08-01
5          8           工作中无小事                       2006-01-01
6          4           射雕英雄传(全四册)               2005-12-01
7          2           水浒传                             2005-04-01
8          1           红楼梦                             2005-04-01

8 rows got

used time: 1.776(ms). Execute id is 39590.

发表评论

电子邮件地址不会被公开。