เพื่อหาแถวที่มีผลรวมของสองคอลัมน์มากที่สุด ใช้ฟังก์ชัน 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) คำนวณผลรวมสูงสุด แล้วคิวรีหลักกรองเฉพาะแถวที่ตรงกับค่านั้น