我有一个现场年龄的客户表。我如何计算有多少年龄?
答案 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帧显示“唯一记录的数量”。