Hi Rita,
I don't know exactly your data model but your query should look something like this:
SELECT
{User}.[Id],
{User}.[Name],
{EvaluateStarsCandidate}.[EvaluateStarId]
FROM
{User}
INNER JOIN
(
SELECT
{EvaluateStarsCandidate}.[CreatedByUserId],
MAX({EvaluateStarsCandidate}.[CreatedDateTime]) MaxCreatedDate
FROM
{EvaluateStarsCandidate}
GROUP BY
{EvaluateStarsCandidate}.[CreatedByUserId]
)MaxDate
ON MaxDate.[CreatedByUserId] = {User}.[Id]
INNER JOIN
{EvaluateStarsCandidate}
ON {EvaluateStarsCandidate}.[CreatedDateTime] = MaxDate.[MaxCreatedDate]
AND {EvaluateStarsCandidate}.[CreatedByUserId] = {User}.[Id]
The subquery MaxDate isolates the maximum created date for each user (the most recent) and then you use that date to join again with the table to get only the most recent record detail.
If you need to get the users with no comments then the INNER JOINs should be changed to LEFT JOINs.
It should be enough for you to adapt to your use case and data model.
Regards,
João