首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我一直在寻找解决方案,得到Mysql中的多列和(对于一行),以获得电力发票的每个小时的总数?

我一直在寻找解决方案,得到Mysql中的多列和(对于一行),以获得电力发票的每个小时的总数?
EN

Stack Overflow用户
提问于 2019-12-12 08:28:59
回答 1查看 39关注 0票数 0

我编写了下面的查询,以获取sum,但它显示(某些进展)为null,用于几个记录。当我包括以下所有记录时,它在第4行显示了1064个错误。

代码语言:javascript
运行
复制
select 
Metering0,Metering1,Metering2,Metering3,Metering4,Metering5,Metering6,Metering7,Metering8,Metering9,Metering10,Metering11,Metering12,
Metering13,Metering14,Metering15,Metering16,Metering17,Metering18,Metering19,Metering20,Metering21,Metering22
total = (Metering0+Metering1+Metering2+Metering3+Metering4+Metering5+Metering6+Metering7+Metering8+Metering9+Metering10+Metering11+Metering12
+Metering13+Metering14+Metering15+Metering16+Metering17+Metering18+Metering19+Metering20+Metering21+Metering22)
from ireneene_calculationdb.invoice_template_year
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-12 08:41:11

--它以null的形式显示了几个记录

可能,至少有一个列具有这些记录的null值。在MySQL (和大多数其他关系数据库管理系统)中,1 + null生成null。您可以使用coalesce()来解决这个问题。

代码语言:javascript
运行
复制
coalesce(Metering0, 0) + coalesce(Metering1, 0) + coalesce(Metering2, 0) + ...

在第4行显示了1064个错误

column_alias = <expression>不是有效的MySQL语法(这是Server语法)。应该将列别名放在表达式后面,选项由keyworkd as预先执行,如下所示:

代码语言:javascript
运行
复制
coalesce(Metering0, 0) + coalesce(Metering1, 0) + coalesce(Metering2, 0) + ... as total 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59300423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档