บทความนี้สาธิตการใช้ฟังก์ชัน LEAST() เพื่อหาค่าต่ำสุด (Minimum) จากหลายคอลัมน์ในแต่ละแถว (Row-wise Minimum)
สร้างตารางและข้อมูลทดสอบ
mysql> CREATE TABLE DemoTable756(
Value1 INT, Value2 INT, Value3 INT
);
Query OK, 0 rows affected (0.62 sec)
mysql> INSERT INTO DemoTable756 VALUES(10, 20, 14);
mysql> INSERT INTO DemoTable756 VALUES(20, 34, 17);
mysql> INSERT INTO DemoTable756 VALUES(200, 134, 789);
mysql> INSERT INTO DemoTable756 VALUES(139, 98, 99);
คิวรีหาค่าต่ำสุดของแต่ละแถว
mysql> SELECT LEAST(Value1, Value2, Value3) FROM DemoTable756;
ผลลัพธ์
+-----------------------------+
| least(Value1,Value2,Value3) |
+-----------------------------+
| 10 |
| 17 |
| 134 |
| 98 |
+-----------------------------+
คำอธิบาย:
LEAST(val1, val2, ...)- คืนค่าที่น้อยที่สุดจากรายการGREATEST(val1, val2, ...)- คู่คู่สำหรับหาค่ามากที่สุด- ทำงาน Row-by-Row (ต่อแถว) ไม่ใช่ Column Aggregate
- หากมีค่า NULL ในรายการ ผลลัพธ์จะเป็น NULL (ยกเว้น MySQL 8.0+ ที่มีการตั้งค่า)
- รองรับทุกชนิดข้อมูลที่เปรียบเทียบได้ (Number, String, Date)
กรณีต้องการหาค่าต่ำสุดของทั้งคอลัมน์ (Column-wise): ใช้ MIN(Value1), MIN(Value2), MIN(Value3) แทน