Aktualizace:moje původní odpověď byla totožná s odpovědí Quassnoi, ale o 1 minutu pozdě, takže jsem se rozhodl ji smazat a místo toho udělat něco jiného. Tento dotaz nepředpokládá, že (id, datum) je jedinečné. Pokud existuje více položek, vybere se nejlevnější. Také sečte celkové náklady a vrátí je, což může být také užitečné.
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