You can't do that. You can't say distinct and then also get ID 2 for Amritha. How will it know if it should be ID 1 or 2 for Amritha. From your output it almost looks like you actually want the max date.
SELECT Name, MAX(date) AS LatestDate
FROM table
GROUP BY Name
That will give 1 record per name and whatever the max date is.
If you happen to need the ID of that record as well you can use the above as a derived table and rejoin back to the table to get it.
SELECT t.Id, x.Name, x.LatestDate
FROM (
SELECT Name, MAX(date) AS LatestDate
FROM table
GROUP BY Name
) x
INNER JOIN table t ON x.Name = t.Name and x.LatestDate = t.date