Mysql:需要查询

时间:2016-01-08 22:11:37

标签: mysql

假设我们有一个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.

1 个答案:

答案 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` 

SQL Fiddle

有关使用内联变量的更多信息:Advanced MySQL user variable techniques