Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy vấn MySQL lọc hàng theo giá trị tuyệt đối chênh lệch hai cột

Sử dụng hàm ABS() kết hợp phép trừ hai cột để tìm các hàng có chênh lệch tuyệt đối lớn hơn ngưỡng cho trước.

Cú pháp

SELECT * FROM tenBang WHERE ABS(cot1 - cot2) >= giaTriNguong;

Ví dụ

Tạo bảng và chèn dữ liệu:

mysql> create table DemoTable ( 
    Number1 int, 
    Number2 int 
); 
Query OK, 0 rows affected (0.59 sec)
mysql> insert into DemoTable values(10,20); 
Query OK, 1 row affected (0.18 sec) 
mysql> insert into DemoTable values(100,200); 
Query OK, 1 row affected (0.13 sec) 
mysql> insert into DemoTable values(400,300); 
Query OK, 1 row affected (0.14 sec) 
mysql> insert into DemoTable values(1000,500); 
Query OK, 1 row affected (0.15 sec)

Dữ liệu:

+---------+---------+
| Number1 | Number2 |
+---------+---------+
| 10      | 20      |
| 100     | 200     |
| 400     | 300     |
| 1000    | 500     |
+---------+---------+

Lọc chênh lệch > 100:

mysql> select *from DemoTable where abs(Number1-Number2) > 100;
+---------+---------+
| Number1 | Number2 |
+---------+---------+
| 1000    | 500     |
+---------+---------+
1 row in set (0.02 sec)

Chỉ hàng (1000, 500) có |1000-500| = 500 > 100.