我有一个记录ID列表 - [9, 1, 4, 3]
。Ecto - 如何按照确切顺序通过ID获取记录
我想从postgresql中检索记录,并希望它们按照此ids列表中的顺序排列。但是,当我进行查询时,记录以任意顺序返回:
Ecto.Query.from(r in Record, where: r.id in [9, 1, 4, 3])
|> Repo.all()
|> Enum.map(&Map.get(&1, :id)) # => [4, 9, 1, 3]
如何检索具有相同顺序的记录?
如果你想在数据库级别上做,那么我没有更好的主意,只能在'order by'语句中使用'case' – JustMichael