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

カスタムフィールド値を使用したMySQLORDERBY


カスタムフィールド値を設定するには、FIND_IN_SET()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable677(
   UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   UserStatus text
);
Query OK, 0 rows affected (1.07 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable677(UserStatus) values('BUSY');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable677(UserStatus) values('AT WORK');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable677(UserStatus) values('OFFLINE');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable677(UserStatus) values('BLOCKED');
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DemoTable677;

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

+--------+------------+
| UserId | UserStatus |
+--------+------------+
|      1 | BUSY       |
|      2 | AT WORK    |
|      3 | OFFLINE    |
|      4 | BLOCKED    |
+--------+------------+
4 rows in set (0.00 sec)

以下は、カスタムフィールド値-

を使用してORDERBYを実行するためのクエリです。
mysql> select *from DemoTable677 ORDER BY FIND_IN_SET(UserStatus, 'BLOCKED,AT WORK,OFFLINE,BUSY');

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

+--------+------------+
| UserId | UserStatus |
+--------+------------+
|      4 | BLOCKED    |
|      2 | AT WORK    |
|      3 | OFFLINE    |
|      1 | BUSY       |
+--------+------------+
4 rows in set (0.03 sec)

  1. MySQL IF / WHEN / ELSE / OR with ORDER BY FIELD

    まずテーブルを作成しましょう- mysql> create table DemoTable1884    (    Marks int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1884 values(55); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1884 v

  2. MySQL:Group Byでフィールドを更新しますか?

    GROUP BYでフィールドを更新するには、UPDATEコマンドでORDERBYLIMITを使用します- mysql> create table DemoTable2018    -> (    -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> EmployeeName varchar(20),    -> EmployeeSalary int    -> ); Query OK, 0 r