MySQLでカスタムソートを実行する
MySQLでカスタム並べ替えを実行するには、ORDER BY FIELD()を使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Id int -> ); Query OK, 0 rows affected (0.82 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します:
mysql> insert into DemoTable values(101); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable values(103); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values(102); Query OK, 1 row affected (0.08 sec) mysql> insert into DemoTable values(105); Query OK, 1 row affected (0.14 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+------+ | Id | +------+ | 101 | | 103 | | 102 | | 105 | +------+ 4 rows in set (0.00 sec)
カスタムソートを実行するためのクエリは次のとおりです-
mysql> select *from DemoTable order by field(Id,102,105,101,103);
これにより、次の出力が生成されます-
+------+ | Id | +------+ | 102 | | 105 | | 101 | | 103 | +------+ 4 rows in set (0.00 sec)
-
カスタムのYESまたはNOメッセージを表示するMySQLIF()
まずテーブルを作成しましょう- mysql> create table DemoTable1850 ( OrderStatus varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1850 values('Yes'); Query OK, 1 row affected (0
-
カスタム変数でMySQLselectを設定する
まずテーブルを作成しましょう- mysql> create table DemoTable2013 -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.63 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2013 values('Chris'); Query OK, 1 row affected (0.13 sec)