mysql中如何计算单行值,MySQL中单行的总和?

您可以使用以下语法对单个行的值求和-

情况1-如果您的栏没有NULL值,则语法如下-SELECT yourColumnName1+yourColumnName2+yourColumnName3+.......+N as anyVariableName FROM yourTableName;

情况2-如果您的列具有NULL值,则使用此语法-SELECT IFNULL(yourColumnName1,0)+ IFNULL(yourColumnName2,0)+ IFNULL(yourColumnName3,0)+.............+N

AS anyVariableName FROM yourTableName;

为了理解上述语法,让我们创建一个表。创建表的查询如下-mysql> create table SumValueOfSingleRow

-> (

-> Id int NOT NULL AUTO_INCREMENT,

-> FirstValue int,

-> SecondValue int,

-> ThirdValue int,

-> PRIMARY KEY(Id)

-> );

使用insert命令在表中插入一些记录。查询如下-mysql> insert into SumValueOfSingleRow(FirstValue,SecondValue,ThirdValue) values(1,0,1);

mysql> insert into SumValueOfSingleRow(FirstValue,SecondValue,ThirdValue) values(1,NULL,0);

mysql> insert into SumValueOfSingleRow(FirstValue,SecondValue,ThirdValue) values(NULL,NULL,NULL);

使用select语句显示表中的所有记录。查询如下-mysql> select *from SumValueOfSingleRow;

以下是输出-+----+------------+-------------+------------+

| Id | FirstValue | SecondValue | ThirdValue |

+----+------------+-------------+------------+

|  1 |          1 |           0 |          1 |

|  2 |          1 |        NULL |          0 |

|  3 |       NULL |        NULL |       NULL |

+----+------------+-------------+------------+

3 rows in set (0.00 sec)

查看示例输出。如果使用情况1,则不会获得适当的结果。

让我们检查一下上面讨论的情况1。查询如下-mysql> select FirstValue+SecondValue+ThirdValue as SingleRowSum from SumValueOfSingleRow;

以下是输出-+--------------+

| SingleRowSum |

+--------------+

|            2 |

|         NULL |

|         NULL |

+--------------+

3 rows in set (0.06 sec)

查看示例输出,以上查询不处理NULL情况。现在,您可以使用CASE 2获得适当的结果。

查询如下-mysql> select ifnull(FirstValue,0)+ ifnull(SecondValue,0)+ ifnull(ThirdValue,0) as SingleRowSum from SumValueOfSingleRow;

以下是显示单行值总和的输出-+--------------+

| SingleRowSum |

+--------------+

|            2 |

|            1 |

|            0 |

+--------------+

3 rows in set (0.06 sec)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值