Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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
Sql ActiveRecord根据组合中两个属性的唯一性选择记录_Sql_Ruby On Rails_Activerecord_Ruby On Rails 4 - Fatal编程技术网

Sql ActiveRecord根据组合中两个属性的唯一性选择记录

Sql ActiveRecord根据组合中两个属性的唯一性选择记录,sql,ruby-on-rails,activerecord,ruby-on-rails-4,Sql,Ruby On Rails,Activerecord,Ruby On Rails 4,我的桌子看起来像这样: ID | Multiple | Itemlist_ID | Inventory_ID ---------------------------------------------------------------- 1 | 1 | 1 | 1 2 | 1 | 1 | 2 3 | 1

我的桌子看起来像这样:

ID    |    Multiple    |    Itemlist_ID    |    Inventory_ID
----------------------------------------------------------------
1     |    1           |    1              |    1
2     |    1           |    1              |    2
3     |    1           |    1              |    3
4     |    1           |    4              |    2
5     |    1           |    4              |    3
6     |    2           |    4              |    2
7     |    2           |    4              |    3
如何使用
多个
Itemlist\u ID
的唯一组合检索记录?例如:

ID    |    Multiple    |    Itemlist_ID    |    Inventory_ID
----------------------------------------------------------------
1     |    1           |    1              |    1
4     |    1           |    4              |    2
6     |    2           |    4              |    2

注意,这是为不显示库存ID的视图进行检索,因此我不关心是否返回记录
[1,4,6]
[1,5,7]
[2,4,6]
。首先使用
命令可以。

您可以使用此语法在Activerecord中执行分组查询(将
模型
替换为您的类名):

这将检索(多个,Itemlist\u ID)的所有唯一组合

您可以选择在两个分组列以外的列上添加聚合操作,例如SUM、AVG、COUNT等。例如,如果您想知道每个组中有多少条记录:

Model.group('Multiple', 'Itemlist_ID').select('Multiple', 'Itemlist_ID', 'COUNT(1) AS group_count')

这将为结果添加一个名为“group_count”的属性,即每个组中包含的记录数

检索结果中的第一个库存ID是否重要?如果没有,您可以使用分组依据(多个,Itemlist\u ID)。不,我不关心库存\u ID,所以检索哪个并不重要。你说的使用小组是什么意思?请举个例子好吗?
Model.group('Multiple', 'Itemlist_ID').select('Multiple', 'Itemlist_ID', 'COUNT(1) AS group_count')