Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man DISTINCT ON mit mysql mit ActiveRecord verwendet

Sie möchten also alle Benutzerbesuche mit der Zeit des letzten Besuchs.

Verwenden Sie stattdessen DISTINCT Funktion können Sie GROUP verwenden mit MAX Funktion.

Die Abfrage sieht aus wie

Events.group(:user_id).maximum(:time)

Dies gibt Ihre gewünschten Ergebnisse aus

{21=>Tue, 18 Dec 2018 11:15:24 UTC +00:00, 23=>Thu, 20 Dec 2018 06:42:10 UTC +00:00}

Ich hoffe, das funktioniert für Sie.

FYDISTINCT ON(Spalten). ist die PostgreSQL-Syntax.