統計 MySQL 中已知不同值出現的次數


為此,您可以使用聚合函式 SUM()。讓我們首先建立一個表 -

mysql> create table DemoTable636 (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,StudentFirstName varchar(100)
);
Query OK, 0 rows affected (0.51 sec)

使用 insert 命令在表中插入一些記錄 -

mysql> insert into DemoTable636(StudentFirstName) values('John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable636(StudentFirstName) values('Robert');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable636(StudentFirstName) values('Robert');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable636(StudentFirstName) values('Sam');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable636(StudentFirstName) values('Mike');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable636(StudentFirstName) values('John');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable636(StudentFirstName) values('Robert');
Query OK, 1 row affected (0.16 sec)

使用 select 語句從表中顯示所有記錄 -

mysql> select *from DemoTable636;

這將產生以下輸出 -

+-----------+------------------+
| StudentId | StudentFirstName |
+-----------+------------------+
|         1 | John             |
|         2 | Robert           |
|         3 | Robert           |
|         4 | Sam              |
|         5 | Mike             |
|         6 | John             |
|         7 | Robert           |
+-----------+------------------+
7 rows in set (0.00 sec)

以下是統計已知(或列舉)的不同值出現次數的查詢 -

mysql> select
   sum(StudentFirstName='John') AS JOHN_COUNT,
   sum(StudentFirstName='Robert') AS ROBERT_COUNT,
   sum(StudentFirstName='Sam') AS SAM_COUNT,
   sum(StudentFirstName='Mike') AS MIKE_COUNT
   from DemoTable636;

這將產生以下輸出 -

+------------+--------------+-----------+------------+
| JOHN_COUNT | ROBERT_COUNT | SAM_COUNT | MIKE_COUNT |
+------------+--------------+-----------+------------+
|          2 |            3 | 1         | 1          |
+------------+--------------+-----------+------------+
1 row in set (0.00 sec)

更新於: 02-7-2020

174 次瀏覽

提升您的 事業

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.