Jeg tror, hvis du grupperer efter begge id
og date
du får hvad du leder efter. dvs.:
SELECT id
FROM table
GROUP BY id, `date`
HAVING COUNT(*) = 3 /* Since number of days are 3 */
Bemærk, at dette forudsætter, at du får antallet af dage (3 i dette tilfælde) baseret på et datointerval fra et andet sted.