0

我有一个交易模型,它有 2 个字段,number_of_share 和 price_per_share。

我想在饼图中展示它,为此我必须找到与用户关联的所有交易对象,然后添加所有具有相同 price_per_share 的交易对象并添加它们的 number_of_shared。

例子 :-

trading id: 1, price_per_share: 10, number_of_shares: 20
trading id: 2, price_per_share: 10, number_of_shares: 12
trading id: 3, price_per_share: 12, number_of_shares: 10

现在我想添加所有具有相似值的 price_per_share(在本例中为 10)。我怎样才能做到这一点 ?

4

2 回答 2

3

这应该有效:

Trading.group(:price_per_share).sum(:number_of_shares)
# => {10=>32, 12=>10}

SQL 将类似于:

SELECT SUM(`tradings`.`number_of_shares`) AS sum_number_of_shares, price_per_share AS price_per_share FROM `tradings` GROUP BY `tradings`.`price_per_share`
于 2013-04-10T09:27:53.793 回答
0

希望我理解正确,但是:

Trading.where(:price_per_share => 10).sum(:number_of_shares)

应该给你你正在寻找的结果。

于 2013-04-10T09:14:38.623 回答