在MySQL中,如何從兩個表中計數並給出字串的組合計數?
要進行計數,請使用 MySQL COUNT(*)。但是,使用 UNION ALL,您可以獲得字串的組合計數。讓我們首先建立一個表:
mysql> create table DemoTable1 ( Name varchar(20) ); Query OK, 0 rows affected (0.49 sec)
使用 insert 命令在表中插入一些記錄。我們正在第一個表中插入字串值:
mysql> insert into DemoTable1 values('Chris');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1 values('Robert');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1 values('Mike');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1 values('Robert');
Query OK, 1 row affected (0.10 sec)使用 select 語句顯示錶中的所有記錄:
mysql> select *from DemoTable1;
這將產生以下輸出:
+--------+ | Name | +--------+ | Chris | | Robert | | Mike | | Robert | +--------+ 4 rows in set (0.00 sec)
以下是建立第二個表的查詢。我們也在第二個表中插入字串值:
mysql> create table DemoTable2 ( Name varchar(40) ); Query OK, 0 rows affected (0.43 sec)
使用 insert 命令在表中插入一些記錄:
mysql> insert into DemoTable2 values('Robert');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable2 values('Chris');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable2 values('Robert');
Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable2 values('David');
Query OK, 1 row affected (0.13 sec)使用 select 語句顯示錶中的所有記錄:
mysql> select *from DemoTable2;
這將產生以下輸出:
+--------+ | Name | +--------+ | Robert | | Chris | | Robert | | David | +--------+ 4 rows in set (0.00 sec)
以下是使用 COUNT(*) 和 UNION ALL 從兩個表中獲取字串值組合計數的查詢:
mysql> select tbl.Name,count(*) as Total_Count from ( select Name from DemoTable1 UNION ALL select Name from DemoTable2 )tbl group by tbl.Name;
這將產生以下輸出。組合計數顯示在新列“Total_Count”中:
+--------+-------------+ | Name | Total_Count | +--------+-------------+ | Chris | 2 | | Robert | 4 | | Mike | 1 | | David | 1 | +--------+-------------+ 4 rows in set (0.00 sec)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP