MySQL การใช้งานฟังก์ชัน GREATEST()

ฟังก์ชัน 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;
แชร์เรื่องนี้