MYSQL SUM() 返回不正确的值。没有连接
Posted
技术标签:
【中文标题】MYSQL SUM() 返回不正确的值。没有连接【英文标题】:MYSQL SUM() returns incorrect value. No joins 【发布时间】:2021-08-06 10:30:02 【问题描述】:列的简单 SUM() 存在问题
SELECT SUM('2021-06-30_value') FROM Test.a123;
返回 198058
将相同的数据拉入 Excel 并为每一行执行 python for 循环返回 2537737
【问题讨论】:
SUM 什么?您尚未选择列。我实际上不知道该查询会做什么 【参考方案1】:这段代码:
SELECT SUM('2021-06-30_value') FROM Test.a123;
正在做一个字符串的总和,而不是一个列。字符串本身根据前导数字转换为数字,因此相当于:
SELECT SUM(2021) FROM Test.a123;
你大概想要一列,所以你需要反引号:
SELECT SUM(`2021-06-30_value`) FROM Test.a123;
永远不要在列名中使用单引号,因为它们会与字符串混淆。此外,您应该命名列,这样它们就不需要被转义。例如,我可能会建议 value_20210630
。
【讨论】:
我发现了this,正如我所怀疑的那样。我猜这种行为几乎适用于所有 RDBMS? 谢谢 Gordon,解决了这个问题。也非常感谢带有表名的指针 @roganjosh 。 . .大多数数据库将在算术上下文中使用的非数字字符串返回错误。因此,这在大多数数据库中都会失败。以上是关于MYSQL SUM() 返回不正确的值。没有连接的主要内容,如果未能解决你的问题,请参考以下文章