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

Truy vấn MySQL để nhận giá trị tối đa với các giá trị số trong trường varchar?

Để nhận giá trị lớn nhất, hãy sử dụng hàm max (). Hãy để chúng tôi tạo một bảng trước -

mysql> create table findMaxValueInVarcharField
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Value varchar(200)
   -> );
Query OK, 0 rows affected (1.09 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 findMaxValueInVarcharField(Value) values('200');
Query OK, 1 row affected (0.14 sec)

mysql> insert into findMaxValueInVarcharField(Value) values('1000');
Query OK, 1 row affected (0.25 sec)

mysql> insert into findMaxValueInVarcharField(Value) values('899474');
Query OK, 1 row affected (0.18 sec)

mysql> insert into findMaxValueInVarcharField(Value) values('39474');
Query OK, 1 row affected (0.15 sec)

mysql> insert into findMaxValueInVarcharField(Value) values('4958');
Query OK, 1 row affected (0.12 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 findMaxValueInVarcharField;

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

+----+--------+
| Id | Value  |
+----+--------+
| 1  | 200    |
| 2  | 1000   |
| 3  | 899474 |
| 4  | 39474  |
| 5  | 4958   |
+----+--------+
5 rows in set (0.00 sec)

Sau đây là truy vấn để nhận giá trị tối đa từ các giá trị số trong trường varchar -

mysql> select max(cast(Value as unsigned) ) AS MaximumValueFromVarcharField from
findMaxValueInVarcharField;

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

+------------------------------+
| MaximumValueFromVarcharField |
+------------------------------+
| 899474                       |
+------------------------------+
1 row in set (0.00 sec)