2016-08-04 78 views
0

我哈瓦就像一個表:如何從一個表中查詢結果列表和(這是特定的列值)等於輸入值

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

我需要從該表來查詢量之和(如果最後量MIN_AMOUNT和數量之間,可以使用MIN_AMOUNT)等於輸入值,注意,我已經通過編號的順序排列優先級,例如:

  1. 如果輸入爲500.00,結果將是1,2,3
  2. 如果輸入是400.00,結果也將是1,2,3(3將giv È100.00)
  3. 如果輸入是300.00,結果將是1,2-
  4. 如果輸入是200.00,結果將是2(1是不夠的)

任何提示是歡迎!

+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; 
相關問題