การหาค่าสูงสุดของคอลัมน์ด้วย MAX()
ฟังก์ชัน MAX() ใช้หาค่าสูงสุด (Maximum) ของคอลัมน์ที่เป็นตัวเลข วันที่ หรือข้อความ ได้โดยตรง
Syntax
SELECT MAX(yourColumnName) AS alias_name FROM yourTableName;
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูลตัวเลข:
mysql> CREATE TABLE DemoTable710 (Id INT); Query OK, 0 rows affected (0.53 sec) mysql> INSERT INTO DemoTable710 VALUES (1001), (2001), (1998), (1789), (1678), (9087), (1908); Query OK, 7 rows affected
ข้อมูลทั้งหมด:
mysql> SELECT * FROM DemoTable710;
+------+ | Id | +------+ | 1001 | | 2001 | | 1998 | | 1789 | | 1678 | | 9087 | | 1908 | +------+ 7 rows in set (0.00 sec)
หาค่า Id สูงสุด:
mysql> SELECT MAX(Id) AS Max_Id FROM DemoTable710;
+--------+ | Max_Id | +--------+ | 9087 | +--------+ 1 row in set (0.00 sec)
การประยุกต์ใช้เพิ่มเติม
- หาค่าต่ำสุด:
MIN(column) - หาค่าสูงสุดพร้อมข้อมูลแถวทั้งแถว:
SELECT * FROM DemoTable710 ORDER BY Id DESC LIMIT 1;
- หา MAX หลายคอลัมน์:
MAX(col1), MAX(col2) - ร่วมกับ GROUP BY:
SELECT category, MAX(price) FROM products GROUP BY category
ประสิทธิภาพ
หากคอลัมน์มี Index (Primary Key, Unique, หรือ Index ปกติ) MAX() จะทำงานได้เร็วมาก (O(1) สำหรับ B-Tree Index) เพราะ MySQL เพียงอ่านค่าสุดท้ายของ Index