計算 5 個具有相似名為 “UP”列的表的總和的 MySQL 查詢?
為此,請將 UNION ALL 與 SUM() 結合使用。讓我們建立 5 張表 −
mysql> create table DemoTable1977 ( UP int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1977 values(10); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1977 values(20); Query OK, 1 row affected (0.00 sec) mysql> select * from DemoTable1977; +------+ | UP | +------+ | 10 | | 20 | +------+ 2 rows in set (0.00 sec) mysql> create table DemoTable1978 ( UP int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1978 values(30); Query OK, 1 row affected (0.00 sec) mysql> select * from DemoTable1978; +------+ | UP | +------+ | 30 | +------+ 1 row in set (0.00 sec) mysql> create table DemoTable1979 ( UP int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1979 values(40); Query OK, 1 row affected (0.00 sec) mysql> select * from DemoTable1979; +------+ | UP | +------+ | 40 | +------+ 1 row in set (0.00 sec) mysql> create table DemoTable1980 ( UP int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1980 values(50); Query OK, 1 row affected (0.00 sec) mysql> select * from DemoTable1980; +------+ | UP | +------+ | 50 | +------+ 1 row in set (0.00 sec) mysql> create table DemoTable1981 ( UP int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1981 values(60); Query OK, 1 row affected (0.00 sec) mysql> select * from DemoTable1981; +------+ | UP | +------+ | 60 | +------+ 1 row in set (0.00 sec)
以下是用於計算具有名為 “UP”的單個列的 5 個表的總和的查詢 −
mysql> select sum(TotalSum) from ( select sum(UP) as TotalSum from DemoTable1977 union all select sum(UP) from DemoTable1978 union all select sum(UP) from DemoTable1979 union all select sum(UP) from DemoTable1980 union all select sum(UP) from DemoTable1981 ) tbl;
這將生成以下輸出 −
+---------------+ | sum(TotalSum) | +---------------+ | 210 | +---------------+ 1 row in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP