Nie jestem pewien, jaki błąd pojawia się, ale to nie zadziała. Powodem jest to, że argumenty w twoim BETWEEN klauzule są odwrócone. POMIĘDZY wymaga, aby pierwszym argumentem był min, a drugi max. DATE_SUB odejmie interwał od podanej daty, czyniąc go mniejszym niż bieżąca data.
Wypróbuj coś takiego:
SELECT
*
FROM
SellBySalesman
WHERE
userid=37 and
sellingDate BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()