Stai cercando Ecto.Query.API.ago/2 e Ecto.Query.API.from_now/2 per interrogare l'intervallo e Ecto.Query.subquery/2 per select interno .
Inoltre, Repo.all/2 si aspetta una query come primo argomento, mentre passi FriendReferralCode come primo argomento nella chiamata a Repo.all/2 , dove si aspetta una query e query come secondo, dove si aspetta un elenco di opzioni di parole chiave.
Esegui solo query |> Repo.all() invece.