mysql中如何統計資料?

青灯夜游
發布: 2020-10-19 10:57:27
原創
8425 人瀏覽過

mysql中統計資料的方法:1、使用MAX()函數統計某個欄位最大資料;2、使用MIN()函數統計某個欄位最小資料;3、使用COUNT()函數統計查詢結果的行數;4、使用SUM()函數統計量總和;5、使用AVG()函數統計平均數。

mysql中如何統計資料?

(推薦教學:mysql影片教學

MySQL MAX() 函數

MySQL MAX() 函數是用來傳回指定列中的最大值。

為了方便理解,先建立一個學生成績表 tb_students_score,學生成績表的資料內容如下所示。

mysql> use test_db;
Database changed
mysql> SELECT * FROM tb_students_score;
+--------------+---------------+
| student_name | student_score |
+--------------+---------------+
| Dany         |            90 |
| Green        |            99 |
| Henry        |            95 |
| Jane         |            98 |
| Jim          |            88 |
| John         |            94 |
| Lily         |           100 |
| Susan        |            96 |
| Thomas       |            93 |
| Tom          |            89 |
+--------------+---------------+
10 rows in set (0.13 sec)
登入後複製

【實例 1】在 tb_students_score 表中找出最高的成績,輸入的 SQL 語句和執行結果如下所示。

mysql> SELECT MAX(student_score)
    -> AS max_score
    -> FROM tb_students_score;
+-----------+
| max_score |
+-----------+
|       100 |
+-----------+
1 row in set (0.06 sec)
登入後複製

由執行結果可以看到,MAX() 函數查詢出 student_score 欄位的最大值為 100。

MAX() 函數不僅適用於尋找數值類型,也可套用於字元類型。

【實例 2】在 tb_students_score 表中尋找 student_name 的最大值,輸入的 SQL 語句和執行結果如下所示。

mysql> SELECT MAX(student_name)
    -> AS max_name
    -> FROM tb_students_score;
+----------+
| max_name |
+----------+
| Tom      |
+----------+
1 row in set (0.03 sec)
登入後複製

由執行結果可以看到,MAX() 函數可以對字母進行大小判斷,並傳回最大的字元或字串值。

注意:MAX() 函數也可以傳回任意列中的最大值,包括傳回字元類型的最大值。在將字元類型的資料進行比較時,按照字元的 ASCII 碼值大小進行比較,從 a~z,a 的 ASCII 碼最小,z 的最大。在比較時,先比較第一個字符,如果相等,繼續比較下一個字符,一直到兩個字符不相等或者字符結束為止。例如,b 與 t 比較時,t 為最大值;bcd 與 bca 比較時,bcd 為最大值。

MySQL MIN() 函數

MySQL MIN() 函數是用來傳回查詢列中的最小值。

為了方便理解,需要用到上一節講 MAX() 函數時所建立的資料表 tb_students_score。

【實例】在 tb_students_score 表中找出最低的成績,輸入的 SQL 語句和執行結果如下所示。

mysql> SELECT MIN(student_score)
    -> AS min_score
    -> FROM tb_students_score;
+-----------+
| min_score |
+-----------+
|        88 |
+-----------+
1 row in set (0.00 sec)
登入後複製

由結果可以看到,MIN() 函數查詢出 student_score 欄位的最小值為 88。

提示:MIN() 函數與 MAX() 函數類似,不僅適用於尋找數值類型,也可套用於字元類型。

MySQL COUNT() 函數

MySQL COUNT() 函數統計資料表中包含的記錄行的總數,或根據查詢結果傳回列中包含的資料行數,使用方法有下列兩種:

COUNT(*) 計算表中總的行數,不論某列有數值或為空值。

COUNT(欄位名稱)計算指定列下總的行數,計算時將忽略空值的行。

這裡需要用到以下在介紹 MAX() 函數時所建立的表 tb_students_score 。

【實例】查詢 tb_students_score 表中總的行數,輸入的 SQL 語句和執行結果如下所示。

mysql> SELECT COUNT(*)
    -> AS students_number
    -> FROM tb_students_score;
+-----------------+
| students_number |
+-----------------+
|              10 |
+-----------------+
1 row in set (0.03 sec)
登入後複製

由查詢結果可以看到,COUNT(*) 傳回 tb_students_score 表中記錄的總行數,無論值是什麼。傳回的總數的名稱為 students_number。

提示:在計算總數的時候對待NULL 值的方式是,指定列的值為空的行被COUNT() 函數忽略,但若不指定列,而在COUNT() 函數中使用星號“*”,則所有記錄都不忽略。

MySQL SUM()函數

MySQL SUM() 是求總和的函數,傳回指定列值的總和。

SUM() 函數是如何運作的?

  • 如果在沒有傳回符合行 SELECT 語句中使用 SUM 函數,則 SUM 函數傳回 NULL,而不是 0。

  • DISTINCT 運算子允許計算集合中的不同值。

  • SUM 函數忽略計算中的 NULL 值。

這裡需要用到以下在介紹 MAX() 函數時所建立的表 tb_students_score 。

【實例】在 tb_students_score 表中計算學生成績的總分,輸入的 SQL 語句和執行結果如下所示。

mysql> SELECT SUM(student_score)
    -> AS score_sum
    -> FROM tb_students_score;
+-----------+
| score_sum |
+-----------+
|       942 |
+-----------+
1 row in set (0.00 sec)
登入後複製

由查詢結果可以看到,SUM() 函數傳回學生的所有成績總和為 942。

提示:SUM() 函數在計算時,忽略列值為 NULL 的行。

MySQL AVG() 函數

MySQL AVG() 函數透過計算傳回的行數和每一行資料的和,求得指定列資料的平均值。

這裡需要用到以下在介紹 MAX() 函數時所建立的表 tb_students_score 。

【實例】在 tb_students_score 表中,查詢所有學生成績的平均值,輸入的 SQL 語句和執行結果如下所示。

mysql> SELECT AVG(student_score)
    -> AS score_avg
    -> FROM tb_students_score;
+-----------+
| score_avg |
+-----------+
|   94.2000 |
+-----------+
1 row in set (0.03 sec)
登入後複製

提示:使用 AVG() 函數時,參數為要計算的列名稱,若要得到多個列的平均值,則需要在每一列都使用 AVG() 函數。

以上是mysql中如何統計資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板