คิวรี MySQL เลือกแถวที่ความต่างสัมบูรณ์ระหว่างสองคอลัมน์เกินค่าที่กำหนด
ใช้ฟังก์ชัน ABS() เพื่อหาค่าสัมบูรณ์ของความต่างระหว่างสองคอลัมน์ แล้วเปรียบเทียบกับค่าที่กำหนด
SELECT * FROM yourTableName WHERE ABS(yourColumnName1 - yourColumnName2) >= yourCertainNumber;
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล:
mysql> create table DemoTable (Number1 int, Number2 int); mysql> insert into DemoTable values(10,20); mysql> insert into DemoTable values(100,200); mysql> insert into DemoTable values(400,300); mysql> insert into DemoTable values(1000,500);
ข้อมูลทั้งหมด:
+---------+---------+ | Number1 | Number2 | +---------+---------+ | 10 | 20 | | 100 | 200 | | 400 | 300 | | 1000 | 500 | +---------+---------+
คิวรีเลือกแถวที่ความต่างสัมบูรณ์มากกว่า 100:
mysql> select * from DemoTable where abs(Number1 - Number2) > 100;
ผลลัพธ์ (เฉพาะแถวที่ 4: |1000-500| = 500 > 100):
+---------+---------+ | Number1 | Number2 | +---------+---------+ | 1000 | 500 | +---------+---------+
การคำนวณแต่ละแถว:
- |10-20| = 10 ≯ 100
- |100-200| = 100 ≯ 100 (ไม่เกิน เพราะใช้ > ไม่ใช่ >=)
- |400-300| = 100 ≯ 100
- |1000-500| = 500 > 100 ✓