【发布时间】:2016-11-26 21:08:31
【问题描述】:
我有一个字段年龄的客户表。我如何计算有多少不同的年龄?
【问题讨论】:
-
你能告诉我更多细节吗?
-
在年龄字段下,假设它的值是 23,24,23,24,25。如此不同的年龄是 23,24 和 25 ,所以 count = 3 。
标签: field progress-4gl openedge
我有一个字段年龄的客户表。我如何计算有多少不同的年龄?
【问题讨论】:
标签: field progress-4gl openedge
您可以在 ABL 中使用 FOR 循环和 BREAK BY 以及计数器来执行此操作。 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.
【讨论】:
它会有点像以下几行: 在以下代码中,将 City 替换为年龄,将员工替换为客户。
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 显示“唯一记录的计数”i。
【讨论】: