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

CASEステートメントを使用したフィールドごとのMySQLの順序


フィールドで並べ替えるには、CASEステートメントを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable(StudentId varchar(100));
Query OK, 0 rows affected (1.69 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('STU-980');
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable values('STU-1029');
Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable values('STU-189');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values('STU-890');
Query OK, 1 row affected (0.38 sec)

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

mysql> select *from DemoTable;

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

+-----------+
| StudentId |
+-----------+
| STU-980   |
| STU-1029  |
| STU-189   |
| STU-890   |
+-----------+
4 rows in set (0.00 sec)

以下は、MySQLのフィールド順のクエリです-

mysql> select *from DemoTable
   order by case WHEN StudentId = 'STU-890' THEN 1
   WHEN StudentId = 'STU-1029' THEN 2
   WHEN StudentId = 'STU-980' THEN 3
   WHEN StudentId = 'STU-189' THEN 4
   end;

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

+-----------+
| StudentId |
+-----------+
| STU-890   |
| STU-1029  |
| STU-980   |
| STU-189   |
+-----------+
4 rows in set (0.08 sec)

  1. PostgreSQLでMySQLのORDERBYFIELD()をシミュレートしますか?

    以下は、PostgreSQLでMySQLのORDER BY FIELD()をシミュレートするプロセスです。 オンラインコンパイラを使用してPostgreSQLを実行しました。 出力を取得するために上記で行ったことを見てみましょう。 まず、テーブルを作成しました。 create table PostgreOrderIdDemo (    countryName varchar(20) );を作成します INSERTコマンドを使用してレコードを挿入しました。 insert into PostgreOrderIdDemo values('IND');

  2. MySQLのENUMフィールドを使用して行を選択する

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> EmployeeStatus ENUM('FULLTIME','Intern') default NULL    -> ); Query OK, 0 rows affected (0.66 sec) 挿入コマンドを使用してテーブルにいくつかのレコードを挿入します- mysql> insert into DemoTable values('FULL