Computer >> Máy Tính >  >> Lập trình >> MySQL

Chúng ta có thể đặt một kết quả MySQL với các phép toán không?

Có, chúng tôi có thể đặt hàng với các phép toán bằng mệnh đề ORDER BY. Đầu tiên chúng ta hãy tạo một bảng:

mysql> create table orderByMathCalculation
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Quantity int,
   -> Price int
   -> );
Query OK, 0 rows affected (0.57 sec)

Sau đây là truy vấn để chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert:

mysql> insert into orderByMathCalculation(Quantity,Price) values(10,50);
Query OK, 1 row affected (0.21 sec)

mysql> insert into orderByMathCalculation(Quantity,Price) values(20,40);
Query OK, 1 row affected (0.14 sec)

mysql> insert into orderByMathCalculation(Quantity,Price) values(2,20);
Query OK, 1 row affected (0.13 sec)

mysql> insert into orderByMathCalculation(Quantity,Price) values(11,10);
Query OK, 1 row affected (0.24 sec)

Sau đây là truy vấn để hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select:

mysql> select *from orderByMathCalculation;

Điều này sẽ tạo ra kết quả sau

+----+----------+-------+
| Id | Quantity | Price |
+----+----------+-------+
| 1  | 10       | 50    |
| 2  | 20       | 40    |
| 3  | 2        | 20    |
| 4  | 11       | 10    |
+----+----------+-------+
4 rows in set (0.00 sec)

Trường hợp 1: Đây là truy vấn để thực hiện thứ tự theo các phép toán theo thứ tự tăng dần.

mysql> select *from orderByMathCalculation order by Quantity*Price;

Điều này sẽ tạo ra kết quả sau

+----+----------+-------+
| Id | Quantity | Price |
+----+----------+-------+
| 3  | 2        | 20    |
| 4  | 11       | 10    |
| 1  | 10       | 50    |
| 2  | 20       | 40    |
+----+----------+-------+
4 rows in set (0.00 sec)

Trường hợp 1: Đây là truy vấn để thực hiện sắp xếp theo các phép toán theo thứ tự giảm dần.

mysql> select *from orderByMathCalculation order by Quantity*Price desc;

Điều này sẽ tạo ra kết quả sau

+----+----------+-------+
| Id | Quantity | Price |
+----+----------+-------+
| 2  | 20       | 40    |
| 1  | 10       | 50    |
| 4  | 11       | 10    |
| 3  | 2        | 20    |
+----+----------+-------+
4 rows in set (0.00 sec)