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

MySQLでフィールド値によるカスタムソートを実行するにはどうすればよいですか?


MySQLでフィールド値によるカスタムソートを実行するには、ORDER BYでFIELD()メソッドを使用します。最初にテーブルを作成しましょう:

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

以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。

mysql> insert into DemoTable values(100);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(110);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(90);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(70);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(120);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(140);
Query OK, 1 row affected (0.14 sec)

以下は、selectコマンドを使用してテーブルのレコードを表示するためのクエリです。

mysql> select *from DemoTable;

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

+-----------+
| StudentId |
+-----------+
|       100 |
|       110 |
|        90 |
|        70 |
|       120 |
|       140 |
+-----------+
6 rows in set (0.00 sec)

以下は、フィールド値によるカスタムMySQLソートを実行するためのクエリです。

mysql> select *from DemoTable order by field(StudentId,'100','70','140','90','120','110');

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

+-----------+
| StudentId |
+-----------+
|       100 |
|        70 |
|       140 |
|        90 |
|       120 |
|       110 |
+-----------+
6 rows in set (0.00 sec)

  1. MySQLの別のフィールドからフィールドの値を導出する方法は?

    このために、ユーザー定義変数の概念を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1868      (      Value int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1868 values(10); Query OK, 1 row affected (0

  2. MySQLの最後に特定の値を並べ替える方法は?

    これには、ORDERBYを使用できます。テーブルを作成しましょう- mysql> create table demo57 −> ( −> id int not null auto_increment primary key, −> full_name varchar(20) −> ); Query OK, 0 rows affected (1.60 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo57(full_name) valu