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

สองวิธีดึงค่าสูงสุดจากคอลัมน์ตัวเลขใน MySQL

ใน MySQL มีสองวิธีหลักในการดึงค่าสูงสุด (maximum value) จากคอลัมน์ที่เก็บตัวเลข วิธีแรกใช้ฟังก์ชัน MAX() และวิธีที่สองใช้ ORDER BY ... DESC LIMIT 1

รูปแบบคำสั่ง (Syntax)

SELECT MAX(yourColumnName) FROM yourTableName;
-- หรือ
SELECT * FROM yourTableName ORDER BY yourColumnName DESC LIMIT 1;

ตัวอย่างการสร้างตารางและข้อมูล

mysql> create table DemoTable ( 
    Value int ); 
Query OK, 0 rows affected (0.84 sec)
mysql> insert into DemoTable values(45); 
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(87); 
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(56); 
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(77); 
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(85); 
Query OK, 1 row affected (0.17 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;
+-------+
| Value |
+-------+
| 45    |
| 87    |
| 56    |
| 77    |
| 85    |
+-------+
5 rows in set (0.00 sec)

วิธีที่ 1: ใช้ฟังก์ชัน MAX()

mysql> select max(Value) from DemoTable;
+------------+
| max(Value) |
+------------+
| 87         |
+------------+
1 row in set (0.00 sec)

วิธีที่ 2: ใช้ ORDER BY DESC LIMIT 1

mysql> select * from DemoTable order by Value desc limit 1;
+-------+
| Value |
+-------+
| 87    |
+-------+
1 row in set (0.00 sec)

หมายเหตุ: วิธี MAX() เร็วกว่าและเหมาะสำหรับการหาค่าเดียว ส่วน ORDER BY ... LIMIT 1 เหมาะเมื่อต้องการดึงแถวข้อมูลทั้งแถวที่มีค่าสูงสุด