ฟังก์ชันรวม (Aggregate Function) MAX() ใช้หาค่าสูงสุดในคอลัมน์ตัวเลข วันที่ หรือข้อความ
รูปแบบคำสั่ง
SELECT MAX(yourColumnName) AS HighestValue FROM yourTableName;
ตัวอย่างการใช้งาน
1. สร้างตารางและเพิ่มตัวเลข
mysql> CREATE TABLE HighestNumberDemo (BigNumber INT);
Query OK, 0 rows affected (0.87 sec)
mysql> INSERT INTO HighestNumberDemo VALUES (1234), (9999), (10000), (989898), (999987);
2. ดูข้อมูลทั้งหมด
mysql> SELECT * FROM HighestNumberDemo;
+-----------+
| BigNumber |
+-----------+
| 1234 |
| 9999 |
| 10000 |
| 989898 |
| 999987 |
+-----------+
5 rows in set (0.00 sec)
3. หาค่าสูงสุด
mysql> SELECT MAX(BigNumber) AS HighestNumber FROM HighestNumberDemo;
+---------------+
| HighestNumber |
+---------------+
| 999987 |
+---------------+
1 row in set (0.00 sec)
ใช้กับชนิดข้อมูลอื่น
| ชนิดข้อมูล | ตัวอย่างผลลัพธ์ |
| DATE / DATETIME | วันที่ล่าสุด (มากที่สุด) |
| VARCHAR / TEXT | ตัวอักษรสุดท้ายตาม Collation (Z > A) |
| TIMESTAMP | เวลาล่าสุด |
-- วันที่ล่าสุด
SELECT MAX(order_date) FROM orders;
-- สตริงสุดท้ายตามตัวอักษร
SELECT MAX(name) FROM users; -- 'Somchai' > 'John'
ใช้กับ GROUP BY
SELECT category_id, MAX(price) AS max_price
FROM products
GROUP BY category_id;
ข้อควรระวัง
MAX() ข้ามค่า NULL อัตโนมัติ
- หากทุกแถวเป็น NULL จะคืนค่า
NULL
- ใช้ Index ได้ (Index Scan แทน Full Table Scan)
- ไม่สามารถใช้ใน WHERE ได้โดยตรง ต้องใช้ Subquery หรือ HAVING
ฟังก์ชันรวมคู่คู่
| ฟังก์ชัน | หน้าที่ |
MIN() | ค่าต่ำสุด |
MAX() | ค่าสูงสุด |
AVG() | ค่าเฉลี่ย |
SUM() | ผลรวม |
COUNT() | นับจำนวน |