【问题标题】:sum MySQL column with spaces in name对名称中带有空格的 MySQL 列求和
【发布时间】:2013-06-19 20:45:48
【问题描述】:

我如何简单地对我的 MySQL 数据库中的一列求和?我想:

SELECT sum(Disbursement Amount) FROM payments    

但这不起作用。说我在 'Amount) 附近有语法错误

我只需要知道如何对一列数据求和,我就可以从那里得到它

我已经搜索了几天,但没有发现对我有用的东西。我也是 MySQL 的新手,所以我确定这就是原因 ;)

【问题讨论】:

  • 带有空格的列名有点不理想。但是用反引号引用它,sum(`Disbursement Amount`)。如果列名为Disbursement,则将Amount 移到右括号后面:sum(Disbursement) as Amount
  • 是的,事实上我也是这么想的,这只是我正在开发的一个测试数据库,以开始学习 MySQL 的小怪癖。感谢您的建议

标签: mysql sum


【解决方案1】:

如果列名中有空格 (Disbursement Amount),则需要使用反引号将列名括起来:

SELECT sum(`Disbursement Amount`)  as Total
FROM payments;

我的建议是不要在表和列名中使用空格。如果要在两个单词之间有分隔符,可以使用下划线:

SELECT sum(Disbursement_Amount)  as Total
FROM payments;

【讨论】:

  • 感谢您的快速回复,非常感谢。我的查询现在根据您的建议运行,但是 SUM 金额完全错误。我得到的总和为 612,但 2,775 + 2,775 + 2,775 + 606 不是 612。有什么想法吗?
  • 你能发布你的表结构和示例数据吗?
  • 我很抱歉 bluefeet,但我对 MySQL 非常陌生,还不知道如何导出它们。以上是我的专栏中唯一的值
  • @bluefeet 他的专栏是VARCHAR,值有逗号:2,775 ...所以2+2+2+606 = 612
  • @EricJ 您应该将数字存储为数字数据类型。不要将它们存储为字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多