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

MySQLの4,2,1,3のような注文のようなカスタムルールで注文するにはどうすればよいですか?


カスタムルールで注文するには、ORDER BY FIELD()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   Number int
   );
Query OK, 0 rows affected (0.55 sec)

挿入コマンド-

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

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

mysql> select *from DemoTable;

出力

+--------+
| Number |
+--------+
| 1      |
| 4      |
| 2      |
| 3      |
+--------+
4 rows in set (0.00 sec)

以下は、ORDER BYカスタムルールへのクエリです(例:4,2,1,3-

)。
mysql> select *from DemoTable order by field(Number,4,2,1,3);

これにより、カスタム順序で次の出力が生成されます-

+--------+
| Number |
+--------+
| 4      |
| 2      |
| 1      |
| 3      |
+--------+
4 rows in set (0.00 sec)

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

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

  2. MySQLでカスタムソート順を実装する

    MySQLでカスタムの並べ替え順序を実装するには、ORDER BY FIELD()を使用する必要があります。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Designation varchar(100)    -> ); Query OK, 0 rows affected (1.65 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values