首页  >  文章  >  数据库  >  如何使用ActiveRecord获取MySQL中每个用户的最新访问时间?

如何使用ActiveRecord获取MySQL中每个用户的最新访问时间?

DDD
DDD原创
2024-10-27 20:59:30664浏览

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

在 MySQL 中使用 DISTINCT ON 使用 ActiveRecord

要使用 MySQL 检索每个不同用户的最新访问时间,DISTINCT ON 的语法为不支持。相反,您可以使用 GROUP BY 和 MAX 函数。

查询和结果:

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

输出:

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

解释:

  • GROUP BY 按 user_id 对结果进行分组。
  • MAX 为每组选择最大值(最近时间)。

该查询达到了预期字典的输出,其中每个用户 ID 对应于他们的上次访问时间。

以上是如何使用ActiveRecord获取MySQL中每个用户的最新访问时间?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn