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

MySQLで特定の文字列で並べ替える方法は?


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

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

挿入コマンド-

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

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

mysql> insert into DemoTable values('Sam');
Query OK, 1 row affected (0.22 sec)

mysql> insert into DemoTable values('Johnny');
Query OK, 1 row affected (0.18 sec)

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

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

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

mysql> select *from DemoTable;

出力

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

+-----------+
| FirstName |
+-----------+
| John      |
| Adam      |
| Sam       |
| Johnny    |
| Joy       |
| Jace      |
+-----------+
6 rows in set (0.00 sec)

以下は、特定の文字列で並べ替えるクエリです。部分文字列「Jo」で最初に注文する必要があるとします-

mysql> select *from DemoTable
   -> order by case when substring(FirstName, 1, 2) = 'Jo' then 0 else 1 end;

出力

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

+-----------+
| FirstName |
+-----------+
| John      |
| Johnny    |
| Joy       |
| Adam      |
| Sam       |
| Jace      |
+-----------+
6 rows in set (0.00 sec)

  1. MySQLの特定の単語で注文する

    これには、ORDER BY INSTR()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable822(Word text); Query OK, 0 rows affected (1.11 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable822 values('Forever'); Query OK, 1 row affected (0.26 sec) mysql> insert into DemoTable822 val

  2. MySQLでグループ化されたフィールドで並べ替える方法は?

    グループ化されたフィールドをORDERBYするには、IN()とともにORDERBYCASEを使用します。 CASEはさまざまな条件を評価しますが、ORDERBYは値を昇順または降順で並べ替えます。 MySQL IN()は、一致するものを見つけるために使用されます。 まずテーブルを作成しましょう- mysql> create table DemoTable (    Value varchar(40) ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>