Daten für die letzten X Tage anzeigen

Hallo
Ich versuche, einen Bericht auszuführen, der die Besuche in den letzten 30 Tagen anzeigt. Ich habe diese Abfrage verwendet, aber sie ist offenbar falsch:

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

Ich habe auch diese Bedingung getestet

WHERE CAST(visite d_at AS DATE) >= CAST(GETDATE() -30 AS DATE)

Ist es möglich, diese Art von Bedingungen zu haben?
Vielen Dank

Versuch es mal mit

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

Danke @Falco, es funktioniert gut