mysql - 单行的总和值?

标签 mysql sum

我有一个 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 , 0, 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

正确吗?

最佳答案

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 - 单行的总和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2179207/

相关文章:

mysql - 错误 2003 (HY000) : Can't connect to MySQL server on '23.23.*.*' (110)

mysql - 使用正则表达式将字符串转换为 mysql 查询

matlab - 如何在 Matlab 中对矩阵中的列求和?

mysql - 如何从两个不同的表计算(数量*价格)的总和?

Java,行和列的总和

r - 如何对R中特定条件的值求和?

mysql - 在 ActiveRecord 中的一个查询中获取多条记录

mysql DATE 字段类型以年为单位返回值

java - hibernate 配置mysql

java - 如何避免 Java 中的 float 或 double 的浮点精度错误?