ฟังก์ชัน GREATEST() ใน MySQL ใช้สำหรับเปรียบเทียบค่าหลาย ๆ ค่า แล้วคืนค่าที่ “มากที่สุด” (greatest) จากรายการนั้น คล้ายกับการใช้ MAX() แต่ GREATEST() ใช้กับค่าที่อยู่ใน แถวเดียวกัน (ไม่ใช่ค่าหลายแถว) ใช้ได้ทั้งกับตัวเลขและข้อความ (string)
ประโยชน์ของฟังก์ชัน GREATEST()
- ใช้เปรียบเทียบค่าหลายคอลัมน์ในแถวเดียว เพื่อหาค่าที่มากที่สุด
- เหมาะสำหรับ
- เปรียบเทียบคะแนนจากหลายวิชา
- เลือกราคาขายที่ดีที่สุด
- หาค่าที่มากที่สุดจากหลายเงื่อนไขหรือหลายช่วงเวลา
- ใช้กับวันที่เพื่อเลือก “วันที่ล่าสุด”
รูปแบบการใช้งาน
GREATEST(expr1, expr2, ..., exprN)
expr1, expr2, ..., exprNคือค่าที่ต้องการเปรียบเทียบ (อย่างน้อย 2 ค่า)- สามารถเป็น ตัวเลข, ข้อความ, วันที่ หรือผสมกันได้
ตัวอย่างการใช้งาน
SQL
SELECT GREATEST(10, 20, 5); -- ผลลัพธ์: 20
SELECT GREATEST(-3, -1, -9); -- ผลลัพธ์: -1ข้อความ (เรียงตามลำดับตัวอักษร – Alphabetical)
SQL
SELECT GREATEST('apple', 'banana', 'orange'); -- ผลลัพธ์: 'orange'- เปรียบเทียบตามลำดับตัวอักษร (ASCII/Unicode) เช่น
'z' > 'a'
ใช้งานกับวันที่
SQL
SELECT GREATEST('2023-01-01', '2025-04-01', '2024-12-31');
-- ผลลัพธ์: '2025-04-01'เปรียบเทียบ rental_date, return_date เพื่อหา “วันที่ล่าสุด”
SQL
SELECT rental_id,
GREATEST(rental_date, return_date) AS latest_activity
FROM rental
LIMIT 5;