相关疑难解决方法(0)

按IN值列表排序

我在PostgreSQL 8.3中有一个简单的SQL查询,可以获取一堆注释.我在子句中为构造提供了一个值的排序列表:INWHERE

SELECT * FROM comments WHERE (comments.id IN (1,3,2,4));
Run Code Online (Sandbox Code Playgroud)

这将以任意顺序返回注释,在我碰巧是ids之类的1,2,3,4.

我希望结果行像IN构造中的列表一样排序:(1,3,2,4).
怎么实现呢?

sql postgresql sql-order-by sql-in

146
推荐指数
7
解决办法
9万
查看次数

在Postgresql中模拟MySQL的ORDER BY FIELD()

刚刚试用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中模拟这种行为,还是我们必须将整理到代码中?

mysql postgresql

42
推荐指数
6
解决办法
2万
查看次数

标签 统计

postgresql ×2

mysql ×1

sql ×1

sql-in ×1

sql-order-by ×1