标题:CALCULATE命令中 sum(),AVG()等与单独的sum(),AVG()等有何区别?
取消只看楼主
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
结帖率:79.3%
已结贴  问题点数:20 回复次数:2 
CALCULATE命令中 sum(),AVG()等与单独的sum(),AVG()等有何区别?
CALCULATE对表中的字段或包含字段的表达式进行财务和统计操作。
CALCULATE命令中 sum(),AVG()等与单独的sum(),AVG()等有何区别?
计算结果是一样的,
是不是CALCULATE命令时可一次性对某个字段要作何种计算写在一起?
CLCULATE AVG(order_amt), MIN(order_amt), MAX(order_amt)
独立函数是不是分别书写,如avg order _amt
                        min order_amt
请行家指教!
搜索更多相关主题的帖子: 表达式 财务 统计 
2016-04-08 10:29
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
以下是引用吹水佬在2016-4-8 11:05:41的发言:

这样比较看看:
CREATE CURSOR tt (f1 I)
INSERT INTO tt VALUES (1)
INSERT INTO tt VALUES (3)
INSERT INTO tt VALUES (2)
CALCULATE MAX(f1), MIN(f1) TO nMax, nMin
?nMax, nMin
nMin = nMax
nMax = 0
SCAN  
    nMax = MAX(nMax, f1)
    nMin = MIN(nMin, f1)
ENDSCAN
?nMax, nMin
上面代码运行结果:

我把代码稍作变了一下:
CREATE CURSOR tt (f1 I)
INSERT INTO tt VALUES (1)
INSERT INTO tt VALUES (3)
INSERT INTO tt VALUES (2)
CALCULATE MAX(f1), MIN(f1) TO nMax, nMin

nMin = nMax
nMax = 0
SCAN
    nMax = MAX(nMax, f1)
    nMin = MIN(nMin, f1)

?'nMax',nMax, 'nMin', nMin  &&有循环体内显示
ENDSCAN

看不出有何不同?
2016-04-08 14:19
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
讨论的不是统计结果,是 MAX(f1)、MIN(f1) 与  MAX(nMax, f1)、MIN(nMin, f1)不能混淆
是不是MAX(nMax, f1)、MIN(nMin, f1)是横向比较,必须有一个比较值(f1)
MAX(f1)、MIN(f1)它是纵向比较
上述理介对否?
2016-04-08 15:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-463398-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018557 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved