1

我们遇到了这个问题:MariaDB Columnstore的版本从1.2.2更新到1.2.4,然后开始胡说八道。

我们有这些列col1, col2,并且DECIMAL(15,3) 已经有工作查询来计算这两个列(请参阅别名A),并且当col2总和为零时计算不正确 - 在数据库更新之后。别名B是第一种没有帮助的方法。并且C是正常工作的解决方案。

我想知道为什么会发生这种情况以及导致这种行为的原因。

SELECT
id,
SUM(col1) AS c1,
SUM(col2) AS c2,
SUM(col1 - col2) AS A,
SUM(CAST(col1 AS DOUBLE) - CAST(col2 AS DOUBLE)) AS B,
SUM(CAST(col1 AS DECIMAL(15,3)) - CAST(col2 AS DECIMAL(15,3))) AS C
FROM table GROUP BY id

1.2.2:

+----+----------+--------+-----------+
| id |    c1    |   c2   |     A     |
+----+----------+--------+-----------+
|  1 | 1199.940 |  0.000 |  1199.940 |
|  2 |  979.860 | 69.990 |   909.870 |
+----+----------+--------+-----------+

1.2.4 有额外的 SUM

+----+----------+--------+-----------------------+---------+-----------+
| id |    c1    |   c2   |           A           |    B    |     C     |
+----+----------+--------+-----------------------+---------+-----------+
|  1 | 1199.940 |  0.000 | -9223372036853575.868 |       0 |  1199.940 |
|  2 |  979.860 | 69.990 |               909.870 |  909.87 |   909.870 |
+----+----------+--------+-----------------------+---------+-----------+
4

0 回答 0