- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个数据库查询结果的动态对象数组。
USERNAME choice_indx legend
USER1 3 4
USER2 0 4
USER3 0 4
USER1 9 2
USER2 9 2
USER3 8 2
USER1 3 1
USER2 9 1
USER3 8 1
查询:
SELECT survey_answers.anonymous_user_id, survey_answers.choice_index, survey_questions.legend
FROM `survey_answers`
LEFT JOIN surveys ON surveys.id = survey_answers.survey_id
LEFT JOIN survey_questions ON survey_questions.id = survey_answers.survey_question_id
WHERE (survey_questions.legend IN (1,2,4)) AND (survey_answers.track_id =2) AND (survey_answers.survey_id =2) AND (surveys.survey_type =2)
我怎样才能按用户分组并得到这样的结果:
final_array = {
"USER1" => [[3,4],[9,2],[3,1]],
"USER2" => [[0,4],[9,2],[9,1]],
"USER3" => [[0,4],[8,2],[8,1]]
}
我试过在 Rails 中使用 group_by,但结果与我想要的不一样。谁能帮我一把?谢谢。
最佳答案
假设 objects
是具有 anonymous_user_id
、choice_index
和 legend
属性的 ActiveModel 对象的可枚举,这将做你想做的:
objects.map {|obj| obj.values_at(:anonymous_user_id, :choice_index, :legend) }
.group_by(&:shift)
如果您在 ActiveRecord 查询中使用 pluck
,则可以跳过 map
,例如:
MyModel.where(...)
.pluck(:anonymous_user_id, :choice_index, :legend)
.group_by(&:shift)
回复你的评论,是的,虽然它不是那么干净:
MyModel.where(...)
.pluck(:anonymous_user_id, :choice_index, :legend)
.map {|vals| Hash[ %w[ __key__ c_idx legend ].zip(vals) ] }
.group_by {|hsh| hsh.delete("__key__") }
或者:
MyModel.where(...)
.pluck(:anonymous_user_id, :choice_index, :legend)
.each_with_object(Hash.new {|h,k| h[k] = [] }) do |(key, c_idx, legend), hsh|
hsh[key] << { "c_idx" => c_idx, "legend" => legend }
end
关于ruby-on-rails - Rails 数组 group_by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33991179/
我有一个 data.frame,例如 df1 % summarise(no.c = n(), m.costs = mean(cost)) 通过 id 计算观测值的数
问题:我想使用 dplyr/tibble add_row。我想在我的示例中按 A 对数据进行分组,然后 add_row 包含组名 A,然后是 B 的值。 我面临的问题是尝试在 A 下的列中添加 Gro
Ruby 有这个很棒的方法 group_by对于可枚举的。 Elixir 有类似的东西吗?我在 Enum 模块上找不到此功能。谢谢 最佳答案 还没有。我们还没有添加它,因为我们正在等待 map 。它将
我有 30 个传感器的 CO2 测量数据,这些传感器不会同时测量,也不会完全在同一时间开始。我想尽可能地对齐它们,所以我认为取 10s 的平均值可能是一个很好的解决方案。 在上一个问题中:Group
我有数据和图表,就像我在下面给出的示例一样。 我想要第三个“条件”,即给定年份和月份的条件 A 和条件 B 的总金额。我不知道该怎么做,因为 Condition 包含在 group_by 语句中。特别
我有一组看起来像这样的数据: +----------+------------+-------+-------+ | step1 | step2 | step3 | step4 | +
下面是我的示例,让我解释一下我正在尝试做的事情,尽管它并没有像我想要的那样工作。 我需要找到同一个人在同一日期的 z 列中有 2 个以上唯一值的所有实例。但是,我需要找到 z 列中特定值列表的位置。
我有一些数据如下所示: cusip date start_date end_date 1 00036020 2011-01-31 2011-07-29 2012-06-30
我在 codeigniter 中有这个问题: 我尝试从数据库制作导航树系统。 模型: function getServices() { $this->db->select('service_url,
我想使用dplyr进行一些数据操作。背景:我有一个调查权重和一堆变量(主要是Likert项)。我想对带有或不带有调查权重的每个类别的频率和百分比求和。 例如,让我们只使用频率作为性别变量。结果应该是这
我正在处理大型(最少 8 百万行)dataframes并希望根据几个分组变量和 rmultinom 进行一些基本计算.就我的代码而言,完成计算至少需要约 1 秒,这不是问题,但我需要执行数千次,所以我
我将 flask 用作带有 sqlalchemy 的 python 框架。这些模型使用 query_property 帮助我构建查询: class Person(object): qu
我正在使用 R 编程语言。 我有以下数据集: library(dplyr) df = structure(list(ethnicity = c("c", "c", "c", "b", "c", "b"
我有数据集,df, Subject Folder Message Date A Out 9/9/2019 5
我的数据库看起来(有点)像这样: Table 'posts': ID title text 62 Trees in Europe You can find fine t
我的一些组合值在文本字段中有逗号,有没有办法可以指定要连接的字符,而不是逗号? 最佳答案 在 mysql documentation你可以找到完整的语法 GROUP_CONCAT([DISTINCT]
我想根据内容对数组的字符串元素进行分组。 ["abc", "abc", "def", "ghi", "ghi"].group_by { |x|一些代码 所以我希望它返回: [["abc", "abc"
Python 3.6我有一个简单的对象列表: for obj in obj_ts: print(obj['address']) 这告诉我: mwpJCSEEkphA1utQGA2Y9Vx8cu
我有一个名为 questions 的表,其中包含以下行: questions.id | questions.target_username 1 | every.one 2
我的数组是 fruits = [["apple", "Tue"], ["mango", "Mon"], ["apple", "Wed"], ["orange", "Tue"]] 我要得到的结果是Gro
我是一名优秀的程序员,十分优秀!