I am getting 3 different items and putting them into a map like this:current = Rank.current_rank(x.id) |> Repo.allbest = Rank.best_rank(x.id) |> Repo.allworst = Rank.worst_rank(x.id) |> Repo.allMap.put_new(x, :rank, %{best: best, worst: worst, current: current})Is there some way to get all 3 items from Rank model in 1 query? Here is my current queries on the model:def current_rank id dofrom r in __MODULE__,  order_by: [desc: r.inserted_at],  limit: 1,  select: r.position,  where: r.keyword_id == ^idenddef best_rank id dofrom r in __MODULE__,  order_by: [asc: r.position],  limit: 1,  select: r.position,  where: r.keyword_id == ^idenddef worst_rank id dofrom r in __MODULE__,  order_by: [desc: r.position],  limit: 1,  select: r.position,  where: r.keyword_id == ^idendIs there a better way?
Ecto query for the current, best-, and worst-ranked items
elixir