How do window functions differ from standard aggregate functions in SQL? Provide an example of when you would use ROW_NUMBER() over RANK().