如何获取MySQL ActiveRecord中所有唯一用户的最新访问次数?

Susan Sarandon
发布: 2024-10-31 01:02:29
原创
529 人浏览过

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

如何在 MySQL ActiveRecord 中使用 DISTINCT ON 的等效项

要求是从事件中检索所有不同用户的最新访问桌子。在 ActiveRecord 中将 DISTINCT ON(user_id) 子句与 MySQL 一起使用会导致语法错误。

DISTINCT ON 的 MySQL 等效项是将 GROUP BY 与 MAX() 函数一起使用:

<code class="ruby">Events.group(:user_id).maximum(:time)</code>
登录后复制

此查询将按 user_id 对结果进行分组,并返回每个组的时间列的最大值。输出将以 user_id 为键、最新访问时间为值的哈希值:

{
  21 => "2018-12-18 09:44:59",
  42 => "2018-12-19 12:08:59"
}
登录后复制

注意: DISTINCT ON(columns) 是 PostgreSQL 特定的语法。 MySQL 不直接支持此语法。

以上是如何获取MySQL ActiveRecord中所有唯一用户的最新访问次数?的详细内容。更多信息请关注PHP中文网其他相关文章!

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