Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何确定Rails中的多个分组记录?_Mysql_Ruby On Rails_Ruby_View_Group By - Fatal编程技术网

Mysql 如何确定Rails中的多个分组记录?

Mysql 如何确定Rails中的多个分组记录?,mysql,ruby-on-rails,ruby,view,group-by,Mysql,Ruby On Rails,Ruby,View,Group By,表中包含以下结构和数据: id | car | location | ... ----------------------------- 1 | BMW | US | ... 2 | Audi | US | ... 3 | Audi | US | ... 4 | Porsche | CA | ... 5 | Audi | US | ... 我正在以常规方式加载和分组数据: @cars = C

表中包含以下结构和数据:

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
如何获得多个分组行

Car.where(location: location).group(:car).count #=> e.g. {'BMW' => 1}
仅供参考,您还可以按地点和车辆分组

Car.group(:location, :car).count #=> e.g. {['US', 'BMW'] => 1}
仅供参考,您还可以按地点和车辆分组

Car.group(:location, :car).count #=> e.g. {['US', 'BMW'] => 1}

不知道ruby,但在mysql中,它将作为select car,count*作为总计,从表中位置='US'分组按Card不知道ruby,但在mysql中,它将作为select car,count*作为总计,从表中位置='US'分组按carPerfect,谢谢,第一个查询就是我需要的!只是一个问题-我使用第一个查询,我收到的结果是-{'BMW'=>1}-但是有没有任何方法可以同时处理汽车模型的其他属性?因为现在,我在一个国家只有一家汽车制造商和一批汽车。谢谢,没问题。将我的帖子标记为答案,如果有帮助,请投票支持这条评论。您可以通过select子句添加其他属性来获得这些属性。但是,我建议保持简单,执行location\u car\u count=car.group:location,:car.count,然后您可以迭代您的car.wherelocation:location关系/数组。您将有权访问所有汽车属性,要获取计数,您只需在此处输入car\u count=location\u car\u count[[car.location,car.name]]即可:嗯。。这会起作用,但不会在一个查询中完成?现在有两个查询,这可能是一个问题,因为一个大表的行数超过1M。cars=Car.wherelocation:location.group:Car.select{Car.column_names}.join',',COUNTcar AS car\u count,然后cars.first.car\u count=>您想要什么,但请记住,“cars”不会包括数据库中的所有汽车,因为结果将被分组。非常好,谢谢,第一个查询就是我需要的!只是一个问题-我使用第一个查询,我收到的结果是-{'BMW'=>1}-但是有没有任何方法可以同时处理汽车模型的其他属性?因为现在,我在一个国家只有一家汽车制造商和一批汽车。谢谢,没问题。将我的帖子标记为答案,如果有帮助,请投票支持这条评论。您可以通过select子句添加其他属性来获得这些属性。但是,我建议保持简单,执行location\u car\u count=car.group:location,:car.count,然后您可以迭代您的car.wherelocation:location关系/数组。您将有权访问所有汽车属性,要获取计数,您只需在此处输入car\u count=location\u car\u count[[car.location,car.name]]即可:嗯。。这会起作用,但不会在一个查询中完成?现在有两个查询,对于一个超过1M行的大表来说可能是一个问题。cars=Car.wherelocation:location.group:Car.select{Car.column\u names}.join',',COUNTcar AS Car\u count,然后cars.first.Car\u count=>您想要什么,但请记住,由于结果将被分组,“cars”不会包括数据库中的所有汽车。