如果需要查询字段(理想情况下,单独使用 ActiveRecord),是否可以根据字段值检索不同记录的计数?
例如,以下根据“created_at”字段返回唯一记录的计数:
Record.count('created_at', :distinct => true)
但是,是否有可能以类似的方式基于“created_at”字段计算唯一天数?
一个简单的 ActiveRecord 示例来解释我的意图:
Record.count('created_at'.day, :distinct => true)
(我知道字符串 'created_at' 不是 'Time',但这是我想询问 ActiveRecord 的那种查询。)
最佳答案
您需要对记录进行分组。例如
Record.group('DATE(created_at)').count('created_at')
告诉您在每个特定日期创建的行数,或者
Record.group('DAYOFWEEK(created_at)').count('created_at')
会告诉您在一周中的每一天创建的行数。
请注意,对于通常的事件记录设置,这将以 UTC 进行日期计算,如果您想在特定时区进行计算,则必须将该转换添加到组语句中。
关于ruby - 来自 created_at 的不同天数的 ActiveRecord 计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547051/