Sie befinden sich hinter Ecto.Query.API.ago/2 und Ecto.Query.API.from_now/2 für Abfrageintervall und Ecto.Query.subquery/2 für inneres select .
Außerdem Repo.all/2 erwartet als erstes Argument eine Abfrage, während Sie FriendReferralCode übergeben als erstes Argument im Aufruf von Repo.all/2 , wo es eine Abfrage erwartet, und query als zweites, wo es eine Schlüsselwortliste mit Optionen erwartet.
Machen Sie einfach query |> Repo.all() stattdessen.