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

เลือกค่าสูงสุดของผลรวมสองคอลัมน์ใน MySQL

เพื่อหาแถวที่มีผลรวมของสองคอลัมน์มากที่สุด ใช้ฟังก์ชัน MAX() ร่วมกับ Subquery

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

สร้างตารางทดสอบ:

mysql> create table DemoTable1587 (
    -> Value1 int,
    -> Value2 int
    -> );
Query OK, 0 rows affected (0.59 sec)

เพิ่มข้อมูล:

mysql> insert into DemoTable1587 values(30,50);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1587 values(80,90);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1587 values(40,67);
Query OK, 1 row affected (0.13 sec)

ดูข้อมูลทั้งหมด:

mysql> select * from DemoTable1587;
+--------+--------+
| Value1 | Value2 |
+--------+--------+
|     30 |     50 |
|     80 |     90 |
|     40 |     67 |
+--------+--------+
3 rows in set (0.00 sec)

คิวรีหาค่าสูงสุดของผลรวม

mysql> select * from DemoTable1587 
    -> where Value1+Value2 = (select max(Value1+Value2) from DemoTable1587);

ผลลัพธ์: ได้แถวที่ Value1+Value2 มากที่สุด (80+90=170)

+--------+--------+
| Value1 | Value2 |
+--------+--------+
|     80 |     90 |
+--------+--------+
1 row in set (0.03 sec)

วิธีการทำงาน

Subquery (select max(Value1+Value2) from DemoTable1587) คำนวณผลรวมสูงสุด แล้วคิวรีหลักกรองเฉพาะแถวที่ตรงกับค่านั้น