Opdatering:mit oprindelige svar var identisk med Quassnois, men 1 minut for sent, så jeg besluttede at slette det og gøre noget anderledes i stedet for. Denne forespørgsel antager ikke, at (id, dato) er unik. Hvis der er mere end én post, vælger den den billigste. Det opsummerer også de samlede omkostninger og returnerer det, hvilket også kan være nyttigt.
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