Actualización:mi respuesta original era idéntica a la de Quassnoi pero 1 minuto demasiado tarde, así que decidí eliminarla y hacer algo diferente en su lugar. Esta consulta no asume que (id, fecha) es único. Si hay más de una entrada, selecciona la más barata. Además, también suma el costo total y lo devuelve, lo que también podría ser útil.
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