ต่อไปนี้คือกระบวนการจำลอง ORDER BY FIELD() ของ MySQL ใน PostgreSQL
เราใช้ Online Compiler เพื่อเรียกใช้ 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;
ผลลัพธ์
ต่อไปนี้เป็นผลลัพธ์