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

หาค่าสูงสุดระหว่างสองคอลัมน์ใน MySQL

การหาค่าที่มากที่สุดระหว่างสองคอลัมน์ใน MySQL

ใช้ฟังก์ชัน GREATEST() ซึ่งคืนค่าที่มากที่สุดจากรายการค่าที่ให้มา (รองรับ 2 ค่าขึ้นไป)

SELECT GREATEST(yourColumnName1, yourColumnName2) AS alias_name FROM yourTableName;

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

สร้างตารางและเพิ่มข้อมูล:

mysql> create table DemoTable (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Number1 int,
    Number2 int
);
mysql> insert into DemoTable(Number1,Number2) values(1000,10000);
mysql> insert into DemoTable(Number1,Number2) values(600,900);
mysql> insert into DemoTable(Number1,Number2) values(12,9);
mysql> insert into DemoTable(Number1,Number2) values(19,56);

ข้อมูลต้นฉบับ:

+----+---------+---------+
| Id | Number1 | Number2 |
+----+---------+---------+
| 1  | 1000    | 10000   |
| 2  | 600     | 900     |
| 3  | 12      | 9       |
| 4  | 19      | 56      |
+----+---------+---------+

คิวรีหาค่าสูงสุดของแต่ละแถว:

mysql> select greatest(Number1,Number2) AS MAXIMUM_NUMBER_OF_TWO_COLUMNS from DemoTable;
+-------------------------------+
| MAXIMUM_NUMBER_OF_TWO_COLUMNS |
+-------------------------------+
| 10000                         |
| 900                           |
| 12                            |
| 56                            |
+-------------------------------+

ฟังก์ชันคู่: LEAST() - หาค่าน้อยที่สุด

SELECT LEAST(Number1, Number2) FROM DemoTable;

พฤติกรรมกับ NULL: หากอาร์กิวเมนต์ใดเป็น NULL → ผลลัพธ์เป็น NULL | ใช้ COALESCE(col, 0) หรือ IFNULL(col, 0) หากต้องการจัดการ NULL