Ik geloof dat als je groepeert op beide id
en date
je krijgt wat je zoekt. d.w.z.:
SELECT id
FROM table
GROUP BY id, `date`
HAVING COUNT(*) = 3 /* Since number of days are 3 */
Houd er rekening mee dat dit ervan uitgaat dat u het aantal dagen (3 in dit geval) op basis van een datumbereik ergens anders vandaan haalt.