如何计算正在进行的字段4gl的唯一记录数?

时间:2016-04-19 06:42:37

标签: field progress-4gl openedge

我有一个现场年龄的客户表。我如何计算有多少年龄?

2 个答案:

答案 0 :(得分:3)

您可以使用FOR循环和BREAK BY以及计数器在ABL中执行此操作。 ABL中还有内置的聚合函数(ACCUM),但它们在野外很少见到......

DEFINE VARIABLE i AS INTEGER     NO-UNDO.

FOR EACH record NO-LOCK BREAK BY record.age:
    IF LAST-OF(record.age) THEN DO:
        i = i + 1.
    END.
END.
MESSAGE "There are " i " unique ages" VIEW-AS ALERT-BOX.

或者是由于内置的​​SQL瘫痪:

SELECT COUNT(DISTINCT age) FROM record.

答案 1 :(得分:0)

这将在某些方面: 使用以下代码将城市替换为年龄,将员工替换为客户。

def var i as int no-undo.

for each employee break by city:
   if first-of (city) and  last-of(city)
   then do:

      i = i + 1.
   end.
end.

使用第a帧显示“唯一记录的数量”。