我有一张像这样的表:
--------------------------------------
| ID | AMOUNT | MIN_AMOUNT | TIME |
--------------------------------------
| 1 | 100.00 | 100.00 | TIME1 |
| 2 | 200.00 | 100.00 | TIME2 |
| 3 | 200.00 | 100.00 | TIME3 |
--------------------------------------
我需要从这个表中查询AMOUNT的总和(如果最后一个金额介于MIN_AMOUNT和AMOUNT之间,可以使用MIN_AMOUNT)等于输入值,请注意我已经按ID排序了优先级,例如:
欢迎任何提示!
答案 0 :(得分:0)
E.g:
SELECT a.*
FROM my_table a
JOIN
( SELECT MIN(id) id
FROM
( SELECT x.*
, @i:=@i+amount i
FROM my_table x
, (SELECT @i:=0) vars
ORDER
BY x.id
) n
WHERE i >= 100
) b
ON b.id >= a.id;