Maison  >  Article  >  base de données  >  Comment obtenir la dernière heure de visite pour chaque utilisateur dans MySQL à l'aide d'ActiveRecord ?

Comment obtenir la dernière heure de visite pour chaque utilisateur dans MySQL à l'aide d'ActiveRecord ?

DDD
DDDoriginal
2024-10-27 20:59:30732parcourir

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

Utilisation de DISTINCT ON avec MySQL à l'aide d'ActiveRecord

Pour récupérer l'heure de la dernière visite pour chaque utilisateur distinct utilisant MySQL, la syntaxe de DISTINCT ON est pas pris en charge. Au lieu de cela, vous pouvez utiliser les fonctions GROUP BY et MAX.

Requête et résultats :

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

Sortie :

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

Explication :

  • GROUP BY regroupe les résultats par user_id.
  • MAX sélectionne la valeur maximale (dernière heure) pour chaque groupe.

Cette requête atteint l'objectif attendu sortie d'un dictionnaire où chaque identifiant d'utilisateur correspond à l'heure de sa dernière visite.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn