Je crois que si vous groupez par les deux id
et date
vous obtiendrez ce que vous cherchez. c'est-à-dire :
SELECT id
FROM table
GROUP BY id, `date`
HAVING COUNT(*) = 3 /* Since number of days are 3 */
Notez que cela suppose que vous obtenez le nombre de jours (3 dans ce cas) basé sur une plage de dates ailleurs.