Актуализация:първоначалният ми отговор беше идентичен с този на Quassnoi, но закъснял с 1 минута, затова реших да го изтрия и вместо това да направя нещо различно. Тази заявка не предполага, че (идентификатор, дата) е уникален. Ако има повече от един запис, той избира най-евтиния. Освен това той също сумира общата цена и връща и тази, която също може да бъде полезна.
SELECT id, SUM(price) FROM (
SELECT id, date, MIN(price) AS price
FROM Table1
GROUP BY id, date) AS T1
WHERE `date` BETWEEN '2010-08-05' AND '2010-08-07'
GROUP BY id
HAVING COUNT(*) = DATEDIFF('2010-08-07','2010-08-05') + 1