如何使用 MySQL 查找 Rails 中所有不同用户的最新访问
您想要检索每个不同用户的最新访问时间在你的数据库中。您尝试在 ActiveRecord 查询中使用 DISTINCT ON 函数,但遇到 SQL 语法错误。
DISTINCT ON 函数特定于 PostgreSQL,MySQL 不支持它。相反,您可以使用 GROUP BY 和 MAX 函数获得所需的结果。
将查询修改为以下内容:
<code class="ruby">Event.group(:user_id).maximum(:time)</code>
此查询将按 user_id 对事件进行分组并返回最大值每组的时间值。这将为您提供每个唯一用户的最新访问时间。
输出:
结果输出将是一个哈希,其中键是 user_ids 和值是作为 Time 对象的最新访问时间:
<code class="ruby">{ 21 => Tue, 18 Dec 2018 11:15:24 UTC +00:00, 23 => Thu, 20 Dec 2018 06:42:10 UTC +00:00 }</code>
请注意,您可以使用 strftime 根据您的喜好格式化时间值。
以上是如何使用 MySQL 检索 Rails 中每个唯一用户的最新访问时间?的详细内容。更多信息请关注PHP中文网其他相关文章!