2017-05-08 5 views
-2

私はテーブルがcampaignテーブルのレコードを選択するには、列の合計が特定の値と等しいか?

capaign_id | offers_count 
------------------------- 
1   |  1 
2   |  1 
3   |  4 
4   |  3 

私はoffers_countのその合計が7に等しいキャンペーンを選択しようとしている必要があり、それは、キャンペーン3と4

+0

offer_countの合計が7である2つのキャンペーンのグループ内のすべての組み合わせを検索しますか? – GurV

+0

または、offer_countの合計が7であるすべてのキャンペーンのすべての組み合わせを検索したいですか? –

+0

いいえ、Offers_countの総計が7であるキャンペーンを選択します。@GurwinderSingh – miche

答えて

0

可能な解決策があるかもしれないです

1 )campaign_idoffers_count

YourModel.pluck(:offers_count) 
#=> [[1,1], [2,1], [3,4], [4,3]] 

2)次にサブセット和を解決弾きます第二の要素[参考のために最初の/ゼロ番目を保つ]コード以下

https://stackoverflow.com/a/19488950/4481312

に対する問題はSOポストからも、私は今のスレッドを見つけることができませんでした。

def subset_sum(array, tot) 
    (1..array.size).each_with_object([]) do |n,arr| 
    array.combination(n).each { |a| arr << a if a[0][0].reduce(:+) == tot } 
    end 
end 
+0

@marmeladzeに感謝します。 – miche

関連する問題