Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หาค่าสูงสุดในคอลัมน์ MySQL ด้วย MAX()

ฟังก์ชันรวม (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()นับจำนวน