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

Giá trị lớn nhất từ ​​hai trường trở lên trong MySQL?

Để biết giá trị lớn nhất từ ​​hai trường trở lên, hãy sử dụng hàm GREATEST () từ MySQL.

Cú pháp như sau -

SELECT GREATEST(MAX(yourColumnName1),MAX(yourColumnName2),...............MAX(yourColumnName2) ) from yourTableName;

Hãy để chúng tôi hiểu khái niệm trên bằng cách tạo một bảng có nhiều hơn hai cột -

mysql> create table GreatestOfTwoOrMore
   -> (
   -> Marks1 int,
   -> Marks2 int,
   -> Marks3 int
   -> );
Query OK, 0 rows affected (0.57 sec)

Đây là truy vấn để chèn bản ghi trong bảng -

mysql> insert into GreatestOfTwoOrMore values(23,78,89);
Query OK, 1 row affected (0.16 sec)
mysql> insert into GreatestOfTwoOrMore values(50,100,150);
Query OK, 1 row affected (0.24 sec)
mysql> insert into GreatestOfTwoOrMore values(100,500,2000);
Query OK, 1 row affected (0.15 sec)

Hiển thị tất cả các giá trị được chèn ở trên bằng cách sử dụng truy vấn sau -

mysql> select *from GreatestOfTwoOrMore;

Sau đây là kết quả -

+--------+--------+--------+
| Marks1 | Marks2 | Marks3 |
+--------+--------+--------+
|     23 |     78 |     89 |
|     50 |    100 |    150 |
|    100 |    500 |   2000 |
+--------+--------+--------+
3 rows in set (0.00 sec)

Hãy để chúng tôi triển khai khái niệm trên bằng cách sử dụng truy vấn sau để nhận giá trị lớn nhất từ ​​hai trường trở lên.

Truy vấn như sau -

mysql> SELECT GREATEST(MAX(marks1),MAX(marks2),MAX(marks3)) from GreatestOfTwoOrMore;

Sau đây là kết quả -

+-----------------------------------------------+
| GREATEST(MAX(marks1),MAX(marks2),MAX(marks3)) |
+-----------------------------------------------+
|                                          2000 |
+-----------------------------------------------+
1 row in set (0.06 sec)