首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在进程4GL中使用Break by关键字

在进程4GL中使用Break by关键字
EN

Stack Overflow用户
提问于 2013-11-18 13:37:55
回答 1查看 14.2K关注 0票数 5

在Progress4GL中break by关键字的确切用法是什么?我没有从OpenEdge的关键字help中得到一个清晰的概念。by关键字和break by关键字的主要区别是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-18 15:33:17

BREAK或BREAK BY关键字启用查询中的分组,而BY仅对结果进行排序。SQL等效项是GROUP BY。

BREAK BY允许在生成的迭代中使用几个关键字:

FIRST-OF/LAST-OF

如果DO、FOR EACH或REPEAT的当前迭代返回TRUE值。。。中断块是新中断组的第一次/最后一次迭代,并修改所有三种块类型

第一个/最后一个

如果DO、FOR EACH或REPEAT的当前迭代返回TRUE值。。。BREAK块是该块的第一次/最后一次迭代。

您还可以使用许多聚合函数。有关AVERAGE、COUNT、MAXIMUM、MINIMUM、TOTAL、SUB-AVERAGE、SUB-COUNT、SUB-MAXIMUM、SUB-MINIMUM和SUB-TOTAL的信息,请参阅联机帮助。

假设你有这个表:

代码语言:javascript
复制
Amount | Id
-----------
     1 | 1
     2 | 1
    10 | 2
     3 | 2
    -1 | 3
     0 | 3

下面是一些例子:

代码语言:javascript
复制
/* Sorting based on amount. */
FOR EACH table by amount:
  DISPLAY amount id.
END.

/* Will display */
Amount | Id
-----------
    -1 | 3
     0 | 3
     1 | 1
     2 | 1
     3 | 2
    10 | 2

/* BREAK example */
FOR EACH table BREAK BY id BY amount:
    IF FIRST-OF(id) THEN DO:
      DISPLAY "First of".
    END.
    DISPLAY amount id.
END.

/* Will display */
Amount | Id |
-----------------
     1 | 1  | First of
     2 | 1  |
     3 | 2  | First of
    10 | 2  | 
    -1 | 3  | First of
     0 | 3  | 
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20040826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档