1. 程式人生 > 實用技巧 >MySQL MAX函式:查詢指定列的最大值

MySQL MAX函式:查詢指定列的最大值

轉自:http://c.biancheng.net/mysql/max.html

MySQLMAX() 函式是用來返回指定列中的最大值。

為了方便理解,首先建立一個學生成績表 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 為最大值。