总和
聚合函数
适用于:砖的SQL砖运行时
返回值的总和计算一组。
返回
如果expr
是一个整数类型,一个长整型数字。如果expr
是小数(p,s)
结果是小数(p+分钟(10,31便士),s)
。如果expr
结果是一个区间类型匹配expr
。
否则,双。
如果截然不同的
总结了唯一指定值。
如果结果溢出类型砖SQL提出了一个结果ARITHMETIC_OVERFLOW错误。返回一个NULL代替使用try_sum
警告
在砖运行时,如果spark.sql.ansi.enabled是假
溢出的BIGINT不会导致一个错误,而是“包装”的结果。
例子
>选择总和(上校)从值(5),(10),(15)作为选项卡(上校);30.>选择总和(上校)过滤器(在哪里上校<15)从值(5),(10),(15)作为选项卡(上校);15>选择总和(截然不同的上校)从值(5),(10),(10),(15)作为选项卡(上校);30.>选择总和(上校)从值(零),(10),(15)作为选项卡(上校);25>选择总和(上校)从值(零),(零)作为选项卡(上校);零——try_sum溢出一个长整型数字>选择try_sum(c1)从值(5E18::长整型数字),(5E18::长整型数字)作为选项卡(c1);零——在ANSI模式和返回一个错误如果溢出BIGINT>选择总和(c1)从值(5E18::长整型数字),(5E18::长整型数字)作为选项卡(c1);错误:ARITHMETIC_OVERFLOW——try_sum溢出一个区间>选择try_sum(c1)从值(时间间隔“100000000”年),(时间间隔“100000000”年)作为选项卡(c1);零——在间隔溢出和返回一个错误>选择总和(c1)从值(时间间隔“100000000”年),(时间间隔“100000000”年)作为选项卡(c1);错误:ARITHMETIC_OVERFLOW