假设我们有一个mysql表:
id number date
1 3 2016-01-01
2 1 2016-01-03
3 4 2016-01-04
4 1 2016-01-04
...
...
...
我们如何检索日期从 2016-01-01 开始的数字列总和达到 6 ?
类似的东西:
SELECT date FROM table WHERE date >= '2016-01-01'
HAVING SUM(number) > 6
例如,当前结果应为'2016-01-04'。在此日期,数字列的总和超过6.
答案 0 :(得分:1)
请尝试以下方法:
SET @i=0;
SELECT MIN(`date`) As `Date`
FROM Table1
WHERE `date` >= '2016-01-01' AND (@i := @i + `number`) > 6
ORDER BY `date`
有关使用内联变量的更多信息:Advanced MySQL user variable techniques