微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单行的总和值?

如何解决单行的总和值?

select item_1 + item_2 + item_3 + item_4 as ItemSum
from MyTable

如果可以有空值,则需要按以下方式处理它们:

select ifnull(item_1, 0) + ifnull(item_2, 0) + ifnull(item_3, 0) + ifnull(item_4, 0) as ItemSum
from MyTable

解决方法

我有一个MySQL查询,该查询返回的是一行1和0。用于进度条指示器。我现在已经在代码中对其求和了,但是我尝试对查询中的值求和,并且意识到我不能使用SUM(),因为它们有很多列,但只有一行。

有没有一种方法可以自动在查询中求和?就像这样:

item_1 | item_2 | item_3 | item_4
-------+--------+--------+--------
     1 |      1 |      0 |      0

编辑:我忘了提,item_1等等不是简单的字段值,而是每个值,而是一个表达式,例如SELECT IF( field_1 = 1 and field_2 IS NOT NULL,1 ) AS item_1 ...,所以看起来我必须做一个嵌套查询:

SELECT ( item_1 + item_2 ... ) FROM ( SELECT IF( field_1 = y and field_2 IS NOT NULL,1,0 ) AS item_1 ... ) AS alias

正确?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。