MYSQL:选择与同一组生成的条件匹配的集合

时间:2014-11-26 12:29:03

标签: mysql sql stored-procedures

我无法正确解释我将通过标题实现的目标。 我将通过例子解释:

id=1, value=2
id=2, value=37
id=3, value=783
id=4, value=3
...

假设我有一个类似于上面的表,其中包含自动增量ID和随机值, 我只会选择值之和小于40的第一行。 所以结果应该是id {1,2}

使用查询是否有解决方案或我需要一个程序? 谢谢大家

2 个答案:

答案 0 :(得分:2)

一种方法是使用变量来计算累积和:

select t.*
from (select t.*, (@cume := @cume + value) as cume
      from table t cross join
           (select @cume := 0) vars
      order by id
     ) t
where cume < 40;

答案 1 :(得分:1)

尝试这样的事情

set @value:=0;
select id, value from
(
select @value:=@value+value as new_value, id, value from table
) as t where new_value<40;