ruby-on-rails - 按子属性值之和排序模型

标签 ruby-on-rails ruby activerecord

我有团队,团队有多个成员资格。每个成员(member)都有积分。我想按这些成员(member)积分的总和对团队进行排序。

例子:

团队很棒 | 10分

团队好 | 8分

因为:

团队很棒

  • 成员(member)1,积分:5
  • 成员(member)2,积分:5

团队好:

  • 成员(member)1,积分:5
  • 成员(member)2,积分:3

但我似乎找不到解决方案。

最佳答案

我没有足够的声誉来发表评论。所以我在这里说明我的观点。这个团队数据及其成员数据是在同一个表中还是一个表中的团队数据和另一个表中的成员数据。您使用的是哪个数据库.如果是MySQL或者Oracle可以使用聚合函数和CASE语句后跟order by来解决这个问题。

您可以使用这样的查询(如果您使用的是 MySQl 数据库)

SELECT t.team_id,t.team_name,sum(t1.points) as sum_of_points,
 case  
 when sum(t1.points)=10 then "Awsome"
 when sum(t1.points)=8  then "good"
 else "default"
 end as credit 
from team t join team_membership t1 on(t.team_id=t1.team_id) 
group by t1.team_id order by sum_of_points desc

关于ruby-on-rails - 按子属性值之和排序模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30620039/

相关文章:

mysql - 带有遗留数据库的回形针

jQuery UI 选项卡 : Mismatching fragment identifier

ruby - 如何在 Ruby 中使用数组?

ruby-on-rails - 使用给定对象在数据库中查找下一个 ActiveRecord 模型对象

ruby-on-rails - 如何从现有的 Rails 4 应用程序中删除 ActiveRecord?

ruby-on-rails - 在 RESTful 设计中,支持不同类型 GET 的最佳方式是什么?

ruby-on-rails - 将 Rails Form Helpers 与序列化的自定义类一起使用

ruby - 有没有人在 Ruby 中遇到过丰富的 GA 框架?

ruby - 如何编写登录网站的 ruby​​ 程序

ruby-on-rails - 在 ruby​​ on rails 中查找关联中的所有 nil