私はテーブルがcampaign
テーブルのレコードを選択するには、列の合計が特定の値と等しいか?
capaign_id | offers_count
-------------------------
1 | 1
2 | 1
3 | 4
4 | 3
私はoffers_countのその合計が7に等しいキャンペーンを選択しようとしている必要があり、それは、キャンペーン3と4
私はテーブルがcampaign
テーブルのレコードを選択するには、列の合計が特定の値と等しいか?
capaign_id | offers_count
-------------------------
1 | 1
2 | 1
3 | 4
4 | 3
私はoffers_countのその合計が7に等しいキャンペーンを選択しようとしている必要があり、それは、キャンペーン3と4
可能な解決策があるかもしれないです
1 )campaign_id
とoffers_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
@marmeladzeに感謝します。 – miche
offer_countの合計が7である2つのキャンペーンのグループ内のすべての組み合わせを検索しますか? – GurV
または、offer_countの合計が7であるすべてのキャンペーンのすべての組み合わせを検索したいですか? –
いいえ、Offers_countの総計が7であるキャンペーンを選択します。@GurwinderSingh – miche