首页 > 解决方案 > Rails Hash 复杂组,最小值为 2,最大值为

问题描述

我试图分析下面的结构,试图得到一个按足球运动员分组的结果,为每个球员显示前两个最好的事件和前两个更差的事件。最后一个元素应该是第一最佳和第一差以及第二好和第二差之间的差异(百分比)。

这是结构:

[{"id"=>1,
  "event"=>"Brazil-Croatia",
  "player"=>"Neymar",
  "goals"=>2,
  "assists"=>10.3,
  "pass_success_pct"=>32.10,
 {"id"=>2,
  "event"=>"Austria-Brazil",
  "player"=>"Neymar",
  "goals"=>0,
  "assists"=>3,
  "pass_success_pct"=>45.23,
 {"id"=>3,
  "event"=>"Barcelona-Real Madrid",
  "player"=>Lionel Messi",
  "goals"=>1,
  "assists"=>4,
  "pass_success_pct"=>98.2,
......
 {"id"=>400,
  "event"=>"Argentina-Croatia",
  "player"=>"Lionel Messi",
  "goals"=>2,
  "assists"=>12,
  "pass_success_pct"=>99.12}
]

结果应该是:

[{"player"=>"Neymar", "event"=>"Brazil-Costa Rica", "position"=>'1st Best', "goals"=>3, "difference_pct"=>11.34},
{"player"=>"Neymar", "event"=>"Paris Saint Germain-Strasbourg", "position"=>'2nd Best', "goals"=>2, "difference_pct"=>8.12},
{"player"=>"Neymar", "event"=>"Brazil-Switzerland", "position"=>'1st Worse', "goals"=>1, "difference_pct"=>4.2},
{"player"=>"Neymar", "event"=>"Toulouse-Paris Saint Germain", "position"=>'2nd Worse', "goals"=>0, "difference_pct"=>2.10}
]

我是 SQL 查询的忠实粉丝,但这对我来说是一个很大的挑战谢谢 Max

标签: ruby-on-railshashgroup-by

解决方案


推荐阅读