我在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).
怎么实现呢?
刚刚试用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中模拟这种行为,还是我们必须将整理到代码中?
我的数组$temp是Array ( [0] => 22 [1] => 26 [2] => 20 [3] => 24 )或22|26|20|24
whereIn当我这样使用时
$robjeks = DB::table('objek')->whereIn('id', $temp)->get();
Run Code Online (Sandbox Code Playgroud)
结果是20|22|24|26|
它会自动排序。我希望它没有排序。
如何使它像一样22|26|20|24?
感谢您的关注。
postgresql ×2
laravel ×1
laravel-5 ×1
mysql ×1
php ×1
sql ×1
sql-in ×1
sql-order-by ×1
where-in ×1