Вам нужно GROUP BY
:
SELECT date(date), sum(X) as qty
FROM ...
WHERE ... AND
date(date) IN ('2010-06-01', '2010-07-01', '2010-08-01', '2010-09-01', '2010-10-01')
GROUP BY date(date);
Вы заметите, что я удалил date_format()
.Преобразование дат в строки - плохая привычка, и в этом нет необходимости.Если date
не имеет компонента времени (как следует из его названия), то date()
даже не требуется.
РЕДАКТИРОВАТЬ:
Использование date_format()
предполагает, что ваши датыхранится как даты .Если это не так, то вы можете просто сделать:
SELECT date, sum(X) as qty
FROM ...
WHERE ... AND
date IN ('20100601', '20100701', '20100801', '20100901', '20101001')
GROUP BY date;
Бросить одинарные кавычки, если дата чисел.