Você está atrás de
Ecto.Query.API.ago/2 e Ecto.Query.API.from_now/2 para intervalo de consulta e Ecto.Query.subquery/2 para select interno . Além disso,
Repo.all/2 espera uma consulta como primeiro argumento, enquanto você passa FriendReferralCode como o primeiro argumento na chamada para Repo.all/2 , onde espera uma consulta e query como um segundo, onde espera uma lista de opções de palavras-chave. Faça apenas
query |> Repo.all() em vez de.