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

หาค่าต่ำสุดของสองฟิลด์ขึ้นไปใน MySQL

ใช้ฟังก์ชัน LEAST() เพื่อหาค่าน้อยที่สุดจากหลายคอลัมน์หรือค่า

ไวยากรณ์

SELECT LEAST(yourColumnName1, yourColumnName2, ... N) FROM yourTableName;

ตัวอย่างการใช้งาน

1. สร้างตาราง 3 คอลัมน์วันที่

mysql> create table DemoTable (Date1 date, Date2 date, Date3 date);
mysql> insert into DemoTable values('2019-03-31','2019-01-01','2019-03-05');

2. หาค่าต่ำสุด

mysql> select least(Date1, Date2, Date3) from DemoTable;

ผลลัพธ์

+--------------------------+
| least(Date1, Date2, Date3) |
+--------------------------+
| 2019-01-01               |
+--------------------------+

คุณสมบัติ LEAST() / GREATEST()

  • รับพารามิเตอร์ได้ 2 ตัวขึ้นไป
  • รองรับทุกชนิดข้อมูล: ตัวเลข, วันที่, สตริง
  • การเปรียบเทียบสตริง: ใช้ Collation ของคอลัมน์/การเชื่อมต่อ
  • คืนค่า NULL หากพารามิเตอร์ใดเป็น NULL → ใช้ COALESCE ป้องกัน

ตัวอย่างจัดการ NULL

SELECT LEAST(COALESCE(col1, '9999-12-31'), COALESCE(col2, '9999-12-31'), COALESCE(col3, '9999-12-31')) FROM DemoTable;

ฟังก์ชันคู่: GREATEST()

SELECT GREATEST(Date1, Date2, Date3) FROM DemoTable;  -- หาค่าสูงสุด