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

MySQLで英数字列を注文するにはどうすればよいですか?


「100X」、「2Z」などの値を持つ英数字の列を注文するには、ORDERBYを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
-> (
-> StudentId varchar(100)
-> );
Query OK, 0 rows affected (0.52 sec)

挿入コマンド-

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

mysql> insert into DemoTable values('100Y');
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values('100X');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable values('2Z');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable values('2Y');
Query OK, 1 row affected (0.23 sec)

mysql> insert into DemoTable values('100Z');
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DemoTable;

出力

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

+-----------+
| StudentId |
+-----------+
| 2X        |
| 100Y      |
| 100X      |
| 2Z        |
| 2Y        |
| 100Z      |
+-----------+
6 rows in set (0.00 sec)

これは、MySQLの英数字列で並べ替えるクエリです-

mysql>select *from DemoTable order by (StudentId+0), right(StudentId, 1);

出力

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

+-----------+
| StudentId |
+-----------+
| 2X        |
| 2Y        |
| 2Z        |
| 100X      |
| 100Y      |
| 100Z      |
+-----------+
6 rows in set, 6 warnings (0.00 sec)

  1. MySQLで列を分割する方法は?

    列を分割するには、MySQLでSUBSTRING_INDEX()を使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Name varchar(40)    -> ); Query OK, 0 rows affected (1.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John_Smith&

  2. MySQLシーケンスを作成する方法は?

    MySQLのシーケンスとは何ですか? MySQLでは、シーケンスとは、指定されている場合は1または0から昇順で生成される整数のリストを指します。多くのアプリケーションでは、特に識別のために一意の番号を生成するために使用されるシーケンスが必要です。 例 例としては、CRMの顧客ID、HRの従業員番号、サービス管理システムの機器番号などがあります。 MySQLでシーケンスを自動的に作成するには、列のAUTO_INCREMENT属性を設定する必要があります。これは通常、主キー列になります。 ルール AUTO_INCREMENT属性を使用するときは、次のルールに従う必要があります- すべての