在Rails中,如何按数组字段中的元素计数分组?

w

给定ActiveRecord Model Foo,其字段a_of_i为整数数组:

# Foo:
id, a_of_i
101, [1,2,3,4]
102, []
103, [11, 12, 13, 14, 15, 16]
104,  [1, 2, 52, 53]

是否有一个ActiveRecord查询将按数组列中#elements的计数进行分组,例如产生:

# Foo.some_query returns something like [[count, id], [count, id]...]
=> [ [6, 103], [4, 101], [4, 104], [0, 102] ]
# or perhaps, if easier:
=> { 6 => [103], 4 => [101,104], 0 => [102] }
锡格德

扰流板

Foo.select('id, cardinality(a_of_i)').pluck('cardinality(a_of_i)', :id)

建立表格

CREATE TABLE foos(
  id   text,
  a_of_i integer[]
);

将表填入红宝石

Foo.create id: 101, a_of_i: [1,2,3,4]
Foo.create id: 102, a_of_i: []
Foo.create id: 103, a_of_i: [11, 12, 13, 14, 15, 16]
Foo.create id: 104, a_of_i: [1, 2, 52, 53]

在SQL中思考

SELECT 
  id,
  CARDINALITY( a_of_i )
FROM
  foos

带AR

Foo.select('id, cardinality(a_of_i)').pluck('cardinality(a_of_i)', :id)

退货

[[4, 101], [0, 102], [6, 103], [4, 104]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MySQL中按计数分组输出?

来自分类Dev

在XQuery中按计数分组

来自分类Dev

如何在Power Bi中按ID减去按今天计数分组的昨天计数?

来自分类Dev

如何汇总集合和按字段计数分组

来自分类Dev

在数组中查找连续值并创建按其计数分组的数组

来自分类Dev

如何在Postgres的Rails中按天分组和计数?

来自分类常见问题

如何在Swift中按数组元素分组

来自分类Dev

按数组中的字段分组项目

来自分类Dev

Mysql按年份和计数分组字段

来自分类Dev

弹性搜索 按特定字段的计数分组

来自分类Dev

在mongodb中按数组元素分组

来自分类Dev

如何在MongoDB中按倍数分组

来自分类Dev

Rails 3 ActiveRecord:顺序和按关联计数分组

来自分类Dev

Rails-Postgres-按相关对象计数分组

来自分类Dev

如何使用Java在MongoDB中按字段对文档分组和计算计数

来自分类Dev

MongoDB按字段分组以用于子文档中的不同数组元素

来自分类Dev

Elasticsearch中按参数分组的聚合

来自分类Dev

按计数分组和汇总:如何保留列名?

来自分类Dev

按计数分组和汇总:如何保留列名?

来自分类Dev

如何按XSL中的元素分组

来自分类Dev

按字段拆分/分组数组元素

来自分类Dev

Rails:按列数分组

来自分类Dev

如何在Postgres中按计数行分组?

来自分类Dev

如何在SQL中按计数值分组

来自分类Dev

按DocumentDB中的字段分组

来自分类Dev

如何在JS中按通用元素对子数组进行分组

来自分类Dev

Yii和ActiveRecord按计数分组

来自分类Dev

Laravel按日期和计数分组

来自分类Dev

mysql Left Join,按计数分组