MySQLで文字列の特定の部分で並べ替える方法は?
ORDER BY SUBSTRING()を使用して、MySQLの文字列の特定の部分で並べ替えることができます。最初にテーブルを作成しましょう:
mysql> create table DemoTable (UserId varchar(200)); Query OK, 0 rows affected (0.68 sec)
以下は、挿入コマンドを使用してテーブルにレコードを挿入するためのクエリです。
mysql> insert into DemoTable values('USER_1234'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('USER_John'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values('USER_Sam'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable values('USER_Carol'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('USER_Bob'); Query OK, 1 row affected (0.14 sec)
以下は、selectコマンドを使用してテーブルのレコードを表示するためのクエリです。
mysql> select *from DemoTable;
これにより、次の出力が生成されます。
+------------+ | UserId | +------------+ | USER_1234 | | USER_John | | USER_Sam | | USER_Carol | | USER_Bob | +------------+ 5 rows in set (0.00 sec)
ケース1: 文字列の一部を昇順で並べ替える場合。
以下はクエリです。ここでは、文字列の特定の部分を4番目の文字の後に並べ替えます:
mysql> select *from DemoTable order by substring(UserId,4) asc;
これにより、次の出力が生成されます
+------------+ | UserId | +------------+ | USER_1234 | | USER_Bob | | USER_Carol | | USER_John | | USER_Sam | +------------+ 5 rows in set (0.00 sec)
ケース2: 文字列のBY部分を降順で並べ替える場合。クエリは次のとおりです。
mysql> select *from DemoTable order by substring(UserId,4) desc;
これにより、次の出力が生成されます。ここでは、文字列の特定の部分を4番目の文字の後に並べ替えます:
+------------+ | UserId | +------------+ | USER_Sam | | USER_John | | USER_Carol | | USER_Bob | | USER_1234 | +------------+ 5 rows in set (0.00 sec)
-
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&
-
MySQLでグループ化されたフィールドで並べ替える方法は?
グループ化されたフィールドをORDERBYするには、IN()とともにORDERBYCASEを使用します。 CASEはさまざまな条件を評価しますが、ORDERBYは値を昇順または降順で並べ替えます。 MySQL IN()は、一致するものを見つけるために使用されます。 まずテーブルを作成しましょう- mysql> create table DemoTable ( Value varchar(40) ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>