У меня возник вопрос о заявлении, в котором он находится.HAVING SUM issue
My table:
id int(11) AUTO_INCREMENT
date date
number int(3)
+----+------------+--------+
| id | date | number |
+----+------------+--------+
| 1 | 2010-01-02 | 0 |
| 2 | 2010-01-03 | 3 |
| 3 | 2010-01-04 | 0 |
| 4 | 2010-01-05 | 2 |
| 5 | 2010-01-06 | 1 |
| 6 | 2010-01-07 | 3 |
+----+------------+--------+
Я хотел бы вернуть дату, когда SUM
числа 6 и date
>'2010-01-04'
Я хочу вернуть дату, когда добавление номера поля равно 6 (после определенной даты, 2010-01-04 в этом примере). Пример: мой запрос должен возвращать 2010-01-07, поскольку 2 в 2010-01-05-в 2010-01-06-в 2010-01-07
Я проверил этот запрос без успеха:
SELECT date, SUM(number) AS total FROM MyTable
GROUP BY date
HAVING SUM(number) = 6
Даже после обновления вашего вопроса все еще неясно, где вы хотите начать свертывающуюся сумму. –
Что делать, если число в последней строке было 4? Результат никогда не будет равен 6. Итак, что тогда? – Strawberry