在mysql中,可以分別使用MAX()函數、MIN()函數和AVG()函數來求最大值、最小值和平均值。 MAX()和MIN()函數可以傳回指定列中的最大值和最小值;AVG()函數透過計算傳回的行數和每一行資料的和,求得指定列資料的平均值。
(推薦教學: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() 函數是用來傳回查詢列中的最小值。
【實例】在 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 AVG函數:求平均值
MySQL AVG() 函數透過計算傳回的行數和每一行資料的和,求得指定列數據的平均值。
【實例】在 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中文網其他相關文章!