Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

SQL에서 Value440, Value345 등과 같은 문자열 숫자로 값이 있는 열에서 최대값을 가져옵니다.

<시간/>

이를 위해 substring()과 함께 MAX()를 사용할 수 있습니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable1337
   -> (
   -> Value varchar(50)
   -> );
Query OK, 0 rows affected (0.58 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1337 values('Value400');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1337 values('Value345');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1337 values('Value567');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1337 values('Value489');
Query OK, 1 row affected (0.22 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select * from DemoTable1337;

이것은 다음과 같은 출력을 생성합니다 -

+----------+
| Value    |
+----------+
| Value400 |
| Value345 |
| Value567 |
| Value489 |
+----------+
4 rows in set (0.00 sec)

다음은 컬럼이 varchar -

일 때 MySQL에서 최대값을 찾는 쿼리입니다.
mysql> select max(cast(substring(Value, 6) as decimal(10,2))) as MaximumValue from DemoTable1337;

이것은 다음과 같은 출력을 생성합니다 -

+--------------+
| MaximumValue |
+--------------+
|       567.00 |
+--------------+
1 row in set (0.04 sec)