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

MySQLで文字と数字が混在する列から文字値を並べ替えますか?


最初にテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Code varchar(20)
   -> );
Query OK, 0 rows affected (0.70 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('J23');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('C13');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable values('A61');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('D56');
Query OK, 1 row affected (0.11 sec)

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

mysql> select * from DemoTable;

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

+------+
| Code |
+------+
| J23  |
| C13  |
| A61  |
| D56  |
+------+
4 rows in set (0.00 sec)

これが文字値をソートするためのクエリです-

mysql> select * from DemoTable
   -> order by left(Code,1),
   -> cast(substr(Code, 2) as unsigned);

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

+------+
| Code |
+------+
| A61  |
| C13  |
| D56  |
| J23  |
+------+
4 rows in set (0.05 sec)

  1. MySQLの文字列値(文字列、数値、特殊文字)を含む列から特定のレコードをフェッチします

    このために、ORDER BY CAST()を使用できます。例を見てみましょう- mysql> create table DemoTable2006 (    UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    UserCode    varchar(20) ); Query OK, 0 rows affected (1.14 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2006(Us

  2. MySQLで数字と混合された文字列で並べ替えますか?

    場合によってはORDERBYを使用します。テーブルを作成しましょう- mysql> create table demo18 −> ( −> value text −> ); Query OK, 0 rows affected (1.18 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo18 values('John Smith'); Query OK, 1 row affected (0.06 sec) mysql> inse