刚刚试用PostgreSQL,来自MySQL.在我们的Rails应用程序中,我们有几个带SQL的位置,如下所示:
SELECT * FROM `currency_codes` ORDER BY FIELD(code, 'GBP', 'EUR', 'BBD', 'AUD', 'CAD', 'USD') DESC, name ASC
Run Code Online (Sandbox Code Playgroud)
没过多久就发现PostgreSQL不支持/允许这样做.
有谁知道如何在PostgreSQL中模拟这种行为,还是我们必须将整理到代码中?
在 psql 中(至少在 v9 中),如果我这样做
select id from users where id in (2, 1, 1);
Run Code Online (Sandbox Code Playgroud)
和
select id from users where id in (1, 2);
Run Code Online (Sandbox Code Playgroud)
它们都以相同的顺序返回结果(并消除重复),例如:1, 2。2, 1, 1如何在第一个查询中返回?