如何在 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) -> ); Query OK, 0 rows affected (0.70 sec)
使用 insert 命令在表中插入一些記錄。查詢如下所示:
mysql> insert into SumValueOfSingleRow(FirstValue,SecondValue,ThirdValue) values(1,0,1); Query OK, 1 row affected (0.11 sec) mysql> insert into SumValueOfSingleRow(FirstValue,SecondValue,ThirdValue) values(1,NULL,0); Query OK, 1 row affected (0.19 sec) mysql> insert into SumValueOfSingleRow(FirstValue,SecondValue,ThirdValue) values(NULL,NULL,NULL); Query OK, 1 row affected (0.09 sec)
使用 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 情況。現在您可以使用情況 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)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP