Heim  >  Artikel  >  Datenbank  >  Wie erhalte ich mithilfe von ActiveRecord die aktuelle Besuchszeit für jeden Benutzer in MySQL?

Wie erhalte ich mithilfe von ActiveRecord die aktuelle Besuchszeit für jeden Benutzer in MySQL?

DDD
DDDOriginal
2024-10-27 20:59:30664Durchsuche

How to Get the Latest Visit Time for Each User in MySQL Using ActiveRecord?

Verwenden von DISTINCT ON mit MySQL unter Verwendung von ActiveRecord

Um die letzte Besuchszeit für jeden einzelnen Benutzer mithilfe von MySQL abzurufen, lautet die Syntax für DISTINCT ON nicht unterstützt. Stattdessen können Sie die Funktionen GROUP BY und MAX verwenden.

Abfrage und Ergebnisse:

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

Ausgabe:

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

Erklärung:

  • GROUP BY gruppiert die Ergebnisse nach Benutzer-ID.
  • MAX wählt den Maximalwert (letzte Zeit) für jede Gruppe aus.

Diese Abfrage erreicht das Erwartete Ausgabe eines Wörterbuchs, in dem jede Benutzer-ID der Zeit ihres letzten Besuchs entspricht.

Das obige ist der detaillierte Inhalt vonWie erhalte ich mithilfe von ActiveRecord die aktuelle Besuchszeit für jeden Benutzer in MySQL?. 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