ฟังก์ชัน LEAST() ใน MySQL ใช้สำหรับเปรียบเทียบค่าหลายค่า แล้วคืนค่าที่ “น้อยที่สุด” (least) ในบรรดาค่าที่ระบุ ใช้ได้กับ ตัวเลข, ข้อความ (string), วันที่ หรือค่าประเภทอื่นที่เปรียบเทียบกันได้
ประโยชน์ของฟังก์ชัน LEAST()
- ใช้หาค่าที่น้อยที่สุดในแถวเดียวกัน เช่น
- ราคาต่ำสุดจากหลายคอลัมน์
- คะแนนที่ต่ำสุดในแต่ละวิชา
- วันที่ที่เร็วที่สุด
- ช่วยให้โค้ดอ่านง่ายและกระชับกว่าการใช้
IF()หลาย ๆ ชั้น
รูปแบบการใช้งาน
LEAST(expr1, expr2, ..., exprN)
expr1, expr2, ..., exprNคือค่าที่ต้องการเปรียบเทียบ อย่างน้อยต้องมี 2 ค่า- ถ้าค่าใดค่าหนึ่งเป็น
NULLผลลัพธ์จะเป็นNULLทั้งหมด
ตัวอย่างการใช้งาน
เปรียบเทียบตัวเลข
SQL
SELECT LEAST(10, 5, 20); -- ผลลัพธ์: 5
SELECT LEAST(-3, -7, -1); -- ผลลัพธ์: -7เปรียบเทียบข้อความ (ตามลำดับอักขระ)
SQL
SELECT LEAST('apple', 'banana', 'orange');
-- ผลลัพธ์: 'apple'- เปรียบเทียบตามลำดับตัวอักษร (ASCII หรือ Unicode)
เปรียบเทียบวันที่
SQL
SELECT LEAST('2023-01-01', '2024-05-01', '2022-12-31');
-- ผลลัพธ์: '2022-12-31'เปรียบเทียบวันที่ในแต่ละแถว เพื่อหาวันที่แรกสุดระหว่าง rental_date กับ return_date
SQL
SELECT rental_id,
rental_date,
return_date,
LEAST(rental_date, return_date) AS first_activity
FROM rental
LIMIT 5;ถ้ามีค่า NULL ในชุดข้อมูลที่นำมาเปรียบเทียบ LEAST() จะคืนค่า NULL
SQL
SELECT LEAST(10, NULL, 5); -- ผลลัพธ์: NULLวิธีป้องกัน
SQL
SELECT LEAST(IFNULL(a, 0), IFNULL(b, 0), IFNULL(c, 0));