Показать данные за последние X дней

Здравствуйте
Я пытаюсь запустить отчёт, показывающий посещения за последние 30 дней, поэтому использовал этот запрос, но, похоже, он неверен:

select  distinct user_id, max(visited_at) as visited_at from user_visits
WHERE CAST(visited_at  AS DATE) >= GETDATE() -30
group by user_id

Я также протестировал это условие

WHERE CAST(visited_at AS DATE) >= CAST(GETDATE() -30 AS DATE)

возможно ли использовать такие условия?
Спасибо

Попробуйте

SELECT
  user_id,
  COUNT(*) AS visits
FROM user_visits
WHERE visited_at > CURRENT_DATE - 30
GROUP BY 1
ORDER BY 2 DESC

Спасибо, @Falco, всё работает отлично.