Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit MySQL die letzte Besuchszeit für jeden einzelnen Benutzer in Rails abrufen?

Wie kann ich mit MySQL die letzte Besuchszeit für jeden einzelnen Benutzer in Rails abrufen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-29 04:12:29604Durchsuche

How to Retrieve the Latest Visit Time for Each Unique User in Rails with MySQL?

So finden Sie den letzten Besuch aller einzelnen Benutzer in Rails mit MySQL

Sie möchten die letzte Besuchszeit für jeden einzelnen Benutzer abrufen in Ihrer Datenbank. Sie versuchen, die DISTINCT ON-Funktion in Ihrer ActiveRecord-Abfrage zu verwenden, stoßen jedoch auf einen SQL-Syntaxfehler.

Die DISTINCT ON-Funktion ist spezifisch für PostgreSQL und wird von MySQL nicht unterstützt. Stattdessen können Sie das gewünschte Ergebnis mit den Funktionen GROUP BY und MAX erzielen.

Ändern Sie Ihre Abfrage wie folgt:

<code class="ruby">Event.group(:user_id).maximum(:time)</code>

Diese Abfrage gruppiert die Ereignisse nach Benutzer-ID und gibt das Maximum zurück Zeitwert für jede Gruppe. Dadurch erhalten Sie die letzte Besuchszeit für jeden einzelnen Benutzer.

Ausgabe:

Die resultierende Ausgabe ist ein Hash, wobei die Schlüssel die Benutzer-IDs und die Werte sind sind die letzten Besuchszeiten als Zeitobjekte:

<code class="ruby">{ 21 => Tue, 18 Dec 2018 11:15:24 UTC +00:00,
  23 => Thu, 20 Dec 2018 06:42:10 UTC +00:00 }</code>

Beachten Sie, dass Sie strftime verwenden können, um die Zeitwerte nach Ihren Wünschen zu formatieren.

Das obige ist der detaillierte Inhalt vonWie kann ich mit MySQL die letzte Besuchszeit für jeden einzelnen Benutzer in Rails abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn