Така че искате всички потребителски посещения с последно посетено време.
Вместо да използвате DISTINCT
функция, можете да използвате GROUP
с MAX
функция.
Заявката изглежда като
Events.group(:user_id).maximum(:time)
Това извежда желаните от вас резултати
{21=>Tue, 18 Dec 2018 11:15:24 UTC +00:00, 23=>Thu, 20 Dec 2018 06:42:10 UTC +00:00}
Надявам се това да работи за вас.
FYIDISTINCT ON (колони). е синтаксис на PostgreSQL.