If you want to get the latest record of all employees where employee has performed or is performing duty you can use the below query.
SELECT sno
, EmployeeID
, CASE WHEN Shifts = 1 THEN 'A'
WHEN Shifts = 2 THEN 'B'
WHEN Shifts = 3 THEN 'C' END AS Shifts
, StartDate
, EndDate
, ChangedDate
FROM employeeshifts
WHERE sno IN
(
SELECT MAX(sno) AS sno FROM employeeshifts
GROUP BY EmployeeID
)