mysql - 基于计算的订单记录

标签 mysql ruby-on-rails sorting

我目前正在寻找进球最多的球员:

Player.joins(:player_stats).group('players.id').order('SUM(player_stats.goals) DESC')

但是现在我想按每场比赛的进球数排序,即他们所有进球数的总和 (player_stats.goals) 除以他们打过的比赛数 (players_stats.length)。使用 order() 排序时是否可以像这样进行算术运算?

注意:我正在使用 mySQL 数据库。

最佳答案

我认为沿着这些思路做的事情会做:

Player.joins(:player_stats)
      .group('players.id')
      .order('(SUM(p‌​layer_stats.goals) / COUNT(player_stats.player_id)) DESC')

关于mysql - 基于计算的订单记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39925661/

相关文章:

mysql - 无法访问我的 EC2 LAMP 实例上的 phpMyAdmin

ruby-on-rails - 在现有路由的 rspec 测试中找不到路由

ruby-on-rails - Carrierwave 存储完整路径

php - 当2个字段匹配时MySQL查询按DESC排序

c - 对数组 C 中的字符串进行排序

c++ - 是否可以将 C++ UWP 应用程序链接到 Mysql 数据库?

php - MySQL在单个单元格中通过多个ID进行连接查询

mysql - SQL更新每行计数

ruby-on-rails - 1 周后 8 点钟

c++ - 使用计数器变量测量运行时间