Uppdatering:mitt ursprungliga svar var identiskt med Quassnois men 1 minut för sent, så jag bestämde mig för att ta bort det och göra något annat istället. Den här frågan förutsätter inte att (id, datum) är unik. Om det finns mer än en post väljer den den billigaste. Dessutom summerar den den totala kostnaden och returnerar det som också kan vara användbart.
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