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情况。现在,您可以使用CASE2获得适当的结果。
查询如下-
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)
热门推荐
10 整形机构开业祝福语简短
11 儿媳买车妈妈祝福语简短
12 旅游景区新春祝福语简短
13 煽情的生日祝福语简短
14 感恩同事祝福语简短创意
15 道士结婚文案祝福语简短
16 虎年小年快乐简短祝福语
17 退休送蛋糕祝福语简短
18 虎年送火腿祝福语简短