首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >右侧的group和count ActiveRecord查询返回什么?

右侧的group和count ActiveRecord查询返回什么?
EN

Stack Overflow用户
提问于 2017-11-11 02:42:30
回答 1查看 32关注 0票数 0

我很难弄清楚这个查询返回的是什么:

代码语言:javascript
复制
 @themes = Theme.joins({submissions: [:digitization]}).group('themes.id').count
 => {1=>15, 5=>1, 7=>1, 10=>1, 11=>1, 13=>69, 14=>4, 17=>2, 18=>4, 19=>2, 20=>1, 22=>1, 31=>91, 32=>118, 33=>102, 34=>156, 35=>84, 36=>82, 37=>130, 38=>116, 39=>86, 40=>117, 41=>89, 42=>138, 43=>120, 44=>146, 45=>63, 46=>92, 47=>122, 48=>62, 49=>151, 50=>91, 51=>172, 52=>72, 53=>94, 54=>120, 55=>136, 56=>80, 57=>137,

右边的值是什么?左边的值是什么?我知道我们是按themes.id分组的,所以我可以看到左边是主题的id……但是右边的计数是什么呢?

下面是sql语句:

代码语言:javascript
复制
 @themes = Theme.joins({submissions: [:digitization]}).group('themes.id').to_sql
 => "SELECT `themes`.* FROM `themes` INNER JOIN `submissions` ON `submissions`.`theme_id` = `themes`.`id` AND (purchase_status = \"Complete\" or purchase_status = \"Purchased\") INNER JOIN `digitizations` ON `digitizations`.`submission_code` = `submissions`.`identifier` GROUP BY themes.id"

我知道joins正在进行内连接,并且只返回themes,因为存在一个digitization (通过themesubmissions找到)

EN

回答 1

Stack Overflow用户

发布于 2017-11-11 03:00:11

右侧的计数是基于themes.id进行分组后形成的每个组的大小

例如,假设有两个组,第一个组theme.id =1,第二个组theme.id = 2。第一个组有2个成员,第二个组有3个成员。

则上述查询将返回

代码语言:javascript
复制
=> {1=>2, 2=>3}

右侧的值是与左侧的theme.id相对应的“数字化”计数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47229231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档