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