Jak ustawić SQL, aby znaleźć rekordy od ostatniej niedzieli do tej niedzieli (1 tydzień)

To jest podobne do tego, co mam teraz, czyli:

SELECT COUNT(author) FROM `posts` WHERE `date` >= DATE_SUB(CURDATE(), INTERVAL 1 WEEK) AND author='FooBar'

To da mi liczbę, ile razy autor opublikował w ciągu ostatniego tygodnia.

Chcę zamiast tego mieć go, jeśli mam uruchomić program w niedzielę o 17:30, aby poszukać postów od ostatniej niedzieli 12:00 AM do tej niedzieli 12:00 AM. Podobnie, jeśli zapomnę uruchomić go w niedzielę i jest poniedziałek. Nadal chcę, aby działał od ostatniej niedzieli 12:00 AM do niedzieli, która minęła 12:00

Edytować:

Zrobiłem to, czego potrzebowałem, używając PHP, aby utworzyć poprawną instrukcję SQL, ale wciąż jestem ciekawy, jak to zrobić w SQL.

<?php
    $dayofweek = strftime("%A",time());
    if($dayofweek == "Sunday") {
        $last_sunday = date('Y-m-d h:i:s',strtotime('Last Sunday'));
        $this_sunday = date('Y-m-d h:i:s',strtotime('Sunday'));
    } else {
        $last_sunday = date('Y-m-d h:i:s',strtotime('Last Sunday',strtotime('Last Sunday')));
        $this_sunday = date('Y-m-d h:i:s',strtotime('Last Sunday'));
    }
    print "last_sunday={$last_sunday}<br>";
    print "this_sunday={$this_sunday}<br>";
    print "SELECT COUNT(author) FROM `posts` WHERE `date` <= '$this_sunday' AND `date` >= '$last_sunday' AND author='FooBar'";
?>

questionAnswers(1)

yourAnswerToTheQuestion