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

DDD
发布: 2024-10-27 20:59:30
原创
663 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!