首页  >  文章  >  数据库  >  如何获取MySQL ActiveRecord中所有唯一用户的最新访问次数?

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

Susan Sarandon
Susan Sarandon原创
2024-10-31 01:02:29530浏览

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

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