MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでハイフンで区切られた数値を含む文字列から最小値と最大値を見つけますか?


最小の場合はSUBSTRING()と一緒にMIN()関数を使用し、最大の場合はMAX()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> Value varchar(100)
   -> );
Query OK, 0 rows affected (0.76 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(Value) values('10-20');
Query OK, 1 row affected (0.18 sec)

mysql> insert into DemoTable(Value) values('200-100');
Query OK, 1 row affected (0.13 sec)

mysql> insert into DemoTable(Value) values('780-235');
Query OK, 1 row affected (0.29 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+----+---------+
| Id | Value   |
+----+---------+
| 1 | 10-20    |
| 2 | 200-100  |
| 3 | 780-235  |
+----+---------+
3 rows in set (0.00 sec)

以下は、ハイフン-

を含む文字列から分離された数の部分文字列からMIN()およびMAX()値を見つけるためのクエリです。
mysql> select min(SUBSTRING_INDEX(Value, '-', 1)),
   -> max(SUBSTRING_INDEX(Value, '-', -1))
   -> from DemoTable;

これにより、次の出力が生成されます-

+-------------------------------------+--------------------------------------+
| min(SUBSTRING_INDEX(Value, '-', 1)) | max(SUBSTRING_INDEX(Value, '-', -1)) |
+-------------------------------------+--------------------------------------+
| 10                                  | 235                                  |
+-------------------------------------+--------------------------------------+
1 row in set (0.04 sec)

  1. 数値を含むVARCHAR文字列のハイフンの後の数値を削除するMySQLクエリ

    これには、SUBSTRING_INDEX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2040    -> (    -> StudentCode varchar(20)    -> ); Query OK, 0 rows affected (0.85 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2040 values('John-232'

  2. MySQLで最小値と最大値を取得する

    MAX(columnName)を使用して列の最大値を見つける必要がありますが、MIN(columnName)を使用して列の最大値を見つける必要があります。 以下は、特定の列の最高値と最低値を見つけるための構文であるとしましょう- mysql> SELECT @min_val:=MIN(columnName),@max_val:=MAX(columnName) FROM tableName; mysql> SELECT * FROM tableName WHERE columnName=@min_val OR columnName=@max_val; 注: 「StudentsRe