PostgreSQLでMySQLのORDERBYFIELD()をシミュレートしますか?
以下は、PostgreSQLでMySQLのORDER BY FIELD()をシミュレートするプロセスです。
オンラインコンパイラを使用してPostgreSQLを実行しました。
出力を取得するために上記で行ったことを見てみましょう。
まず、テーブルを作成しました。
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;
出力
以下は出力です。
-
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,'
-
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