Introduced in: v1.1.0
Calculates the sum of the numbers with Kahan compensated summation algorithm.
Slower than sum function.
The compensation works only for Float types.
For the Decimal and Interval types, which are backed by integers, the exact summation of sum is used instead.
Syntax
sumKahan(x)Arguments
Returned value
Returns the sum of numbers. (U)Int* or Float* or Decimal or Interval
Examples
Demonstrating precision improvement with Kahan summation
SELECT sum(0.1), sumKahan(0.1) FROM numbers(10);┌───────────sum(0.1)─┬─sumKahan(0.1)─┐
│ 0.9999999999999999 │ 1 │
└────────────────────┴───────────────┘