實施例的數據:採取從由有源記錄分組只有一個值 - Ruby on Rails的
我有表訂單:
[order_id: 007, state: completed]
[order_id: 123, state: completed]
[order_id: 007, state: failed]
[order_id: 321, state: failed]
[order_id: 111, state: failed]
[order_id: 111, state: failed]
預期輸出:
[order_id: 007, state: completed]
[order_id: 123, state: completed]
[order_id: 321, state: failed]
[order_id: 111, state: failed]
我有許多值'訂單'具有相同的order_id但狀態不同。我想要收到的是沒有那些'失敗'狀態的訂單列表,如果表'訂單'中的另一個訂單具有相同的order_id並且狀態不同於'失敗'。
我需要這樣的東西:
Order.all.group(:state).take_only_first_value_if("COUNT(*) > 1")
這可能有助於https://開頭計算器。 com/questions/3800551/select-first-in-each-group-by-group –