Věřím, že pokud seskupíte podle obou id
a date
dostanete, co hledáte. tj.:
SELECT id
FROM table
GROUP BY id, `date`
HAVING COUNT(*) = 3 /* Since number of days are 3 */
Všimněte si, že to předpokládá, že získáte počet dní (v tomto případě 3) na základě určitého časového období odjinud.