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

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


以下は、PostgreSQLでMySQLのORDER BY FIELD()をシミュレートするプロセスです。

オンラインコンパイラを使用してPostgreSQLを実行しました。

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

出力を取得するために上記で行ったことを見てみましょう。

まず、テーブルを作成しました。

create table PostgreOrderIdDemo (
   countryName varchar(20)
);
を作成します

INSERTコマンドを使用してレコードを挿入しました。

insert into PostgreOrderIdDemo values('IND');
insert into PostgreOrderIdDemo values('US');
insert into PostgreOrderIdDemo values('UK');

以下はPostgreSQLの構文です。

SELECT * FROM yourTableName
ORDER BY
CASE
WHEN columnName='IND' THEN 1
WHEN columnName='US' THEN 2
WHEN columnName='UK' THEN 3
ELSE 0
END,columnName;

上記の構文を使用して出力を取得しましょう。

SELECT * FROM PostgreOrderIdDemo
ORDER BY
CASE
WHEN countryName='IND' THEN 1
WHEN countryName='US' THEN 2
WHEN countryName='UK' THEN 3
ELSE 0
END,countryName;

出力

以下は出力です。

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


  1. ORDER BYフィールドを使用して、単一のMySQLフィールドでIDで並べ替える方法は?

    これには、ORDERBYFIELDを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int,    -> Name varchar(20)    -> ); Query OK, 0 rows affected (1.78 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(101,'

  2. 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