Вот что вы хотите сделать:
SELECT id_service, creation_date, SUM(ammount)
FROM transactions
WHERE DATE_FORMAT(creation_date, '%Y/%m/%d') BETWEEN '2011/08/01' AND '2011/08/30'
AND id_service = 1
GROUP BY DAY(creation_date)
ORDER BY creation_date
Вы конвертируете creation_date
в строку, начинающуюся с месяца, поэтому да, дата 2010 года составляет между указанными вами значениями!
Если creation_date
на самом деле дата, вы можете упростить это до:
SELECT id_service, creation_date, SUM(ammount)
FROM transactions
WHERE creation_date BETWEEN '2011-08-01' AND '2011-08-30'
AND id_service = 1
GROUP BY DAY(creation_date)
ORDER BY creation_date