表中有这种结构和数据:
id | car | location | ...
-----------------------------
1 | BMW | US | ...
2 | Audi | US | ...
3 | Audi | US | ...
4 | Porsche | CA | ...
5 | Audi | US | ...
我正在以通常的方式加载和分组数据:
@cars = Cars.where('location = ?', location).group('car')
我需要在视图中显示多个分组数据 - 在这种情况下,我需要打印在美国有多少数据;所以期望的输出就像:
BMW - 1 car
Audi - 3 cars
如何获得多个分组行?
答案 0 :(得分:6)
Car.where(location: location).group(:car).count #=> e.g. {'BMW' => 1}
仅供参考,您也可以按位置和汽车进行分组。
Car.group(:location, :car).count #=> e.g. {['US', 'BMW'] => 1}