2016-08-04 2 views
0

入力値に等しく:(それはだ、特定の列の値は)私のようなテーブルHAVA

-------------------------------------- 
| ID | AMOUNT | MIN_AMOUNT | TIME | 
-------------------------------------- 
| 1 | 100.00 | 100.00 | TIME1 | 
| 2 | 200.00 | 100.00 | TIME2 | 
| 3 | 200.00 | 100.00 | TIME3 | 
-------------------------------------- 

私はこのテーブルからクエリを実行する必要がありますが、その金額の合計(もし入力が500.00である

  1. 場合、結果は1,2,3となる。最後量は、例えば、私はすでにIDによって優先順位をソートしていることに注意し、入力値に等しい)MIN_AMOUNTを使用することができ、MIN_AMOUNTと量の間であります
  2. 入力が400.00の場合、結果も1,2,3(3 will giv電子100.00)
  3. 入力が300.00であれば、結果は入力が200.00であれば、結果は2(1が十分ではありません)

任意のヒントになります1,2

  • になります大歓迎です!

  • +0

    あなたのクエリがありますか? –

    答えて

    0

    例えば:

    SELECT a.* 
        FROM my_table a 
        JOIN 
        (SELECT MIN(id) id 
         FROM 
          (SELECT x.* 
            , @i:[email protected]+amount i 
           FROM my_table x 
            , (SELECT @i:=0) vars 
           ORDER 
            BY x.id 
          ) n 
         WHERE i >= 100 
        ) b 
        ON b.id >= a.id; 
    
    関連する問題