我们遇到了这个问题: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 |
+----+----------+--------+-----------------------+---------+-----------+