TSL语言基础 > SQL基础到TS-SQL > TS-SQL语法 > SELECT查询语句 > 聚集函数

多字段聚集    

  • 表达式可以用 * ,也可以用 StartFieldIndex To EndFieldIndex如 0 to 2的模式。
    *表示每个字段进行聚集,0 to 2表示第一个到第三个字段求聚集。SelectOpt设置为16可以使得聚集的结果字段名和原始字段名一致。
    例如,SumOf( * )可以对每个字段求和
       SumOf(0 to 2)可以返回前三个字段的求和(返回三个求和值)
    默认的情况下,SumOf( * )和SumOf(N1 to N2)返回的结果会按照正常模式以ExprN作为字段返回,例如"Expr1","Expr2"…,如果设置了SelectOpt(16)则可以以原始的字段名返回。例如:
    a:=array(("abc":1,"bcd":2), ("abc":2,"bcd":3));
    b:=select sumof( * ) from a end;//b的结果为array(("Expr1":3,"Expr2":5));
    c:=select selectopt(16) sumof( * ) from a end;//c的结果为array(("abc":3,"bcd":5));
    多字段聚集的时候,如果需要参与运算,用AggValue可以访问到当前运算的字段值,例如SumOf( *,AggValue>10)