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

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


グループ化されたフィールドをORDERBYするには、IN()とともにORDERBYCASEを使用します。 CASEはさまざまな条件を評価しますが、ORDERBYは値を昇順または降順で並べ替えます。 MySQL IN()は、一致するものを見つけるために使用されます。

まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   Value varchar(40)
);
Query OK, 0 rows affected (0.52 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable values('100&101');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('Sam');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('90');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Mike45');
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DemoTable;

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

+---------+
| Value   |
+---------+
| John    |
| 100&101 |
| Sam     |
| 90      |
| Mike45  |
+---------+
5 rows in set (0.00 sec)

以下は、グループ化されたフィールドで並べ替えるクエリです-

mysql> select *from DemoTable
   order by case when Value IN('John','Sam','Mike45') then 100
   when Value='90' then 101
   when Value='100&101' then 102
   else 103
end;

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

+---------+
| Value   |
+---------+
| John    |
| Sam     |
| Mike45  |
| 90      |
| 100&101 |
+---------+
5 rows in set (0.03 sec)

  1. MySQLでアイテムの順序を変更するにはどうすればよいですか?

    MySQLでアイテムの順序を変更するには、ORDERBYエイリアス名を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable653 (Product1Amount int,Product2Amount int); Query OK, 0 rows affected (0.42 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable653 values(400,250); Query OK, 1 row affected (0.14 sec) mysql&

  2. MySQLでデータフィールドをマスクする方法は?

    データフィールドをマスクするには、REPEAT()とともにCONCAT()を使用します。ここでは、データフィールドを#でマスクします。まず、-を作成しましょう mysql> create table DemoTable1410    -> (    -> Password varchar(80)    -> ); Query OK, 0 rows affected (0.51 sec) insert-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa