Pour obtenir le dernier dimanche précédant minuit, cela devrait le faire. Remplacer les deux instances de NOW()
avec votre date/heure pour vérifier une autre date.
SELECT DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())-1 DAY) latest_sun
Pour obtenir le dimanche une semaine plus tôt, utilisez plutôt DAYOFWEEK(NOW())+6 DAY
.
EDIT :Cela ferait votre requête ;
SELECT COUNT(author)
FROM `posts`
WHERE author='FooBar'
AND `date` >= DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())+6 DAY)
AND `date` < DATE_SUB(DATE(NOW()), INTERVAL DAYOFWEEK(NOW())-1 DAY)