Maison > base de données > tutoriel mysql > le corps du texte

Comment obtenir les dernières visites de tous les utilisateurs uniques dans MySQL ActiveRecord ?

Susan Sarandon
Libérer: 2024-10-31 01:02:29
original
529 Les gens l'ont consulté

How to Get the Latest Visits of All Unique Users in MySQL ActiveRecord?

Comment utiliser l'équivalent de DISTINCT ON dans MySQL ActiveRecord

L'exigence est de récupérer les dernières visites de tous les utilisateurs distincts à partir des événements tableau. L'utilisation de la clause DISTINCT ON(user_id) avec MySQL dans ActiveRecord entraîne une erreur de syntaxe.

L'équivalent MySQL de DISTINCT ON consiste à utiliser GROUP BY avec la fonction MAX() :

<code class="ruby">Events.group(:user_id).maximum(:time)</code>
Copier après la connexion

Cette requête regroupera les résultats par user_id et renverra la valeur maximale de la colonne time pour chaque groupe. La sortie sera un hachage avec l'id_utilisateur comme clé et l'heure de la dernière visite comme valeur :

{
  21 => "2018-12-18 09:44:59",
  42 => "2018-12-19 12:08:59"
}
Copier après la connexion

Remarque : DISTINCT ON(columns) est une syntaxe spécifique à PostgreSQL. MySQL ne prend pas directement en charge cette syntaxe.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!