0

number_of_share と price_per_share の 2 つのフィールドを持つトレーディング モデルがあります。

それを円グラフで表示したいのですが、そのためには、ユーザーに関連付けられているすべての取引オブジェクトを見つけて、同じ 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

ここで、同様の値 (この場合は 10) を持つすべての price_per_share を追加します。どうやってやるの ?

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 に答える