【问题标题】:Sum of multiplied columns in RailsRails中相乘列的总和
【发布时间】:2010-12-23 03:52:23
【问题描述】:

这应该很容易。在 MySQL 中我可以这样做:

select sum(column1*column2) as sum1 from table

如何在 Rails 中使用 sqlite 做到这一点?我已经尝试使用上面的确切查询 find_by_sql 以及 find(:all, :select=>...) 和各种其他东西,但没有一个返回正确的值。大多数都是空白的,像这样:

[#<Element> ]

我可以循环遍历,提取值,然后求和,但必须这样做似乎很荒谬。

有人可以指出我显然缺少什么吗?谢谢!

【问题讨论】:

    标签: sql ruby-on-rails select sum


    【解决方案1】:

    【讨论】:

    • 谢谢你,但我去过那里。我可以在一列上使用 sum,但不能对两列相乘。
    • 没关系。 Element.sum("column1*column2") 有效。只是从来没有完全找到相关模型和列的正确组合。谢谢!
    • Jed - 感谢您回答您自己的问题!帮助我摆脱了比以往更多的麻烦。
    【解决方案2】:

    正如@glortho 在评论中所说,解决方案是

    Element.sum( "column1*column2" )

    这甚至适用于多个表

    Foo.includes(:bars).references(:bars).sum('foos.cost * bars.available')

    SQL 令人难以置信!

    【讨论】:

      猜你喜欢
      • 2015-08-01
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 2013-12-15
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多