2016-08-04 79 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; 
相关问题