我有一个User类,它有一个名为'device'的列,类型为VARCHAR(255)。此列基本上包含设备类型,例如字符串'iPhone 4S','iPod Touch 4G'等...
是否可以(不加载所有用户并手动执行)来计算每个设备的总出现次数?
所以它会回来:
iPhone: 50
iPad 2: 54
etc....
答案 0 :(得分:1)
你只需这样做:
counts = User.count(:group => :device)
这将(或多或少)转换为此SQL:
select count(*), device from users group by device
你会得到一个Hash映射device
到counts
中的计数:
{
'iPhone' => 50,
'iPad 2' => 54,
...
}