编写查询以获取针对 max 的完整记录

scr*_*ipt 3 elixir ecto

Ecto.Query.Api我们使用inmaxselect获取字段中的最大值,如下所示:

from q in jobs,
select: max(q.cost)
Run Code Online (Sandbox Code Playgroud)

它将返回max该字段中的值。

如果我想返回针对该最大值的完整记录。我必须使用wherenot select

那么我该如何max在哪里使用呢?

所以根据我的理解,我认为我必须fragmentwhere.

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

谢谢

Ale*_*kin 5

虽然人们可能会使用过于复杂的子句构建片段where,但真正的任务实际上是在表按以下顺序排序时获取最上面的记录cost

from q in jobs,
order_by: [desc: q.cost],
limit: 1
Run Code Online (Sandbox Code Playgroud)