撰写查询以获取针对最大值的完整记录

时间:2018-01-08 05:14:07

标签: elixir ecto

ModelForm中,我们在Ecto.Query.Api中使用max来获取字段中的最大值:

select

它将在字段中返回from q in jobs, select: max(q.cost) 值。

如果我想要根据该最大值返回完整记录。我必须使用max而不是where

那我如何在哪里使用select

所以在我的理解中,我认为我必须在max中使用fragment

那么什么是最好的解决方案?

由于

1 个答案:

答案 0 :(得分:3)

虽然可以使用过于复杂的where子句构造片段,但真正的任务是在cost对表进行排序时获得最高记录:

from q in jobs,
order_by: [desc: q.cost],
limit: 1