在我的Ruby on Rails应用程序中,我希望在将记录分组到数据库后打印计数结果,我得到类似的结果:
{1=>6}
在我的数据库中有6条记录,所有记录都具有相同的user_id
。
这是我的代码:
Whatever.group(:user_id).count(:user_id)
我只想打印 1 如何执行此操作。我尝试使用distinct
和uniq
但没有成功......
答案 0 :(得分:1)
如果您只需要将其缩小到有用的结果:
Whatever.group(:user_id).count.keys.join(',')
这将处理结果集中有多个用户的情况。
count(:user_id)
部分是多余的,除非您根据其他条件进行计数。只需使用count
代替。
答案 1 :(得分:0)
这是一个例子
('a'..'b').group_by { |i| i * 2 } #=> {"aa"=>["a"], "bb"=>["b"], "cc"=>["c"]}
('a'..'c').group_by { |i| i * 2 }.keys #=> ["aa", "bb", "cc"]
('a'..'c').group_by { |i| i * 2 }.keys[0] #=> "aa"