在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MariaDB Count()函數(shù)
MariaDB比較運(yùn)算符
MariaDB查詢數(shù)據(jù)
MariaDB Like子句
MariaDB Sum()函數(shù)
MariaDB過程
MariaDB限制返回記錄
MariaDB Count()函數(shù)
MariaDB更新數(shù)據(jù)
MariaDB導(dǎo)出數(shù)據(jù)
MariaDB Intersect運(yùn)算符
MariaDB函數(shù)
MariaDB Min()函數(shù)
MariaDB創(chuàng)建數(shù)據(jù)庫
MariaDB Avg()函數(shù)
MariaDB刪除數(shù)據(jù)
MariaDB條件
MariaDB功能特點(diǎn)
MariaDB創(chuàng)建表
MariaDB左外連接
MariaDB Union運(yùn)算符
MariaDB安裝
MariaDB選擇數(shù)據(jù)庫
MariaDB Max()函數(shù)
MariaDB Where子句
MariaDB右外連接
MariaDB內(nèi)連接
MariaDB截斷表
MariaDB Order By子句
MariaDB教程
MariaDB正則表達(dá)式
MariaDB Union All運(yùn)算符
MariaDB Distinct子句
MariaDB修改表
MariaDB刪除表
MariaDB插入數(shù)據(jù)
MariaDB From子句
MariaDB刪除數(shù)據(jù)庫
MariaDB簡介
MariaDB數(shù)據(jù)類型

MariaDB Count()函數(shù)

在MariaDB數(shù)據(jù)庫中,COUNT()函數(shù)用于返回表達(dá)式的計數(shù)/行數(shù)。

語法:

SELECT COUNT(aggregate_expression)  
FROM tables  
[WHERE conditions];

注:COUNT()函數(shù)只計算NOT NULL值。

示例:

假設(shè)有一個students表,有以下數(shù)據(jù):

MariaDB [testdb]> select * from students;
+------------+--------------+-----------------+----------------+
| student_id | student_name | student_address | admission_date |
+------------+--------------+-----------------+----------------+
|          1 | Maxsu        | Haikou          | 2017-01-07     |
|          3 | JMaster      | Beijing         | 2016-05-07     |
|          4 | Mahesh       | Guangzhou       | 2016-06-07     |
|          5 | Kobe         | Shanghai        | 2016-02-07     |
|          6 | Blaba        | Shengzhen       | 2016-08-07     |
|          7 | Maxsu        | Sanya           | 2017-08-08     |
|          8 | Maxsu        | Haikou          | 2015-11-17     |
+------------+--------------+-----------------+----------------+
7 rows in set (0.00 sec)

students表中統(tǒng)計student_id

SELECT COUNT(student_id) FROM Students;
-- 或者
SELECT COUNT(*) FROM Students;

執(zhí)行上面查詢語句,得到以下結(jié)果 -

MariaDB [testdb]> SELECT COUNT(student_id) FROM Students;
+-------------------+
| COUNT(student_id) |
+-------------------+
|                 7 |
+-------------------+
1 row in set (0.07 sec)

1. COUNT()函數(shù)與單一表達(dá)式

統(tǒng)計student_nameMaxsuKobe的學(xué)生人數(shù)。參考以下查詢語句 -

SELECT COUNT(*) AS "Number of Students"  
FROM Students  
WHERE student_name in ('Maxsu', 'Kobe');

執(zhí)行上面查詢語句,得到以下結(jié)果 -

MariaDB [testdb]> SELECT COUNT(*) AS "Number of Students"
    -> FROM Students
    -> WHERE student_name in ('Maxsu', 'Kobe');
+--------------------+
| Number of Students |
+--------------------+
|                  4 |
+--------------------+
1 row in set (0.00 sec)

2. COUNT()函數(shù)與Distinct子句

DISTINCT子句與COUNT()函數(shù)一起使用以防止重復(fù)計數(shù)。它只包含原始記錄。

SELECT COUNT(DISTINCT student_name) AS "Number of Unique names"  
FROM Students  
WHERE student_name in ('Maxsu', 'Kobe');

執(zhí)行上面查詢語句,得到以下結(jié)果 -

MariaDB [testdb]> SELECT COUNT(DISTINCT student_name) AS "Number of Unique names"
    -> FROM Students
    -> WHERE student_name in ('Maxsu', 'Kobe');
+------------------------+
| Number of Unique names |
+------------------------+
|                      2 |
+------------------------+
1 row in set (0.08 sec)

從查詢結(jié)果中可以看到,比上一個示例少了兩行。

3. COUNT()函數(shù)與NULL值

為了更好地演示COUNT()函數(shù)對NULL值的處理,這里再插入兩條記錄 -

-- 修改表字段接受NULL默認(rèn)值
ALTER TABLE students CHANGE student_address student_address varchar(32) default NULL;
-- 插入第1行
INSERT INTO students  
(student_name, student_address, admission_date)  
VALUES('Himin',NULL,'2017-01-07 00:00:00');

-- 插入第2行
INSERT INTO students  
(student_name, student_address, admission_date)  
VALUES('Hiavg',NULL,NULL);

執(zhí)行上面查詢語句,得到以下結(jié)果 -

MariaDB [testdb]> select * from students;
+------------+--------------+-----------------+----------------+
| student_id | student_name | student_address | admission_date |
+------------+--------------+-----------------+----------------+
|          1 | Maxsu        | Haikou          | 2017-01-07     |
|          3 | JMaster      | Beijing         | 2016-05-07     |
|          4 | Mahesh       | Guangzhou       | 2016-06-07     |
|          5 | Kobe         | Shanghai        | 2016-02-07     |
|          6 | Blaba        | Shengzhen       | 2016-08-07     |
|          7 | Maxsu        | Sanya           | 2017-08-08     |
|          8 | Maxsu        | Haikou          | 2015-11-17     |
|          9 | Himin        | NULL            | 2017-01-07     |
|         10 | Hiavg        | NULL            | NULL           |
+------------+--------------+-----------------+----------------+
9 rows in set (0.00 sec)

現(xiàn)在來看看使用count()函數(shù)來測試對NULL值的計算效果。

select count(student_address) from students;

執(zhí)行上面查詢語句,得到以下結(jié)果 -

MariaDB [testdb]> select count(student_address) from students;
+------------------------+
| count(student_address) |
+------------------------+
|                      7 |
+------------------------+
1 row in set (0.00 sec)

可以看到,COUNT(student_address)函數(shù)它并沒有統(tǒng)計包含NULL值的行。


下一篇:MariaDB教程