Vorausgesetzt dass die Start- und Enddaten immer die höchsten Werte sind, dann müssen Sie einige der Spalten aus GROUP BY löschen (mit allen Spalten in GROUP BY ist so etwas wie die Verwendung von DISTINCT ) und verwenden Sie eine Aggregatfunktion für die andere Spalte:
SELECT UserId,
MAX(StartDate) AS StartDate,
MAX(EndDate) AS EndDate
FROM usersworktime
GROUP BY UserId;
Andernfalls, wenn dies nicht der Fall ist, können Sie einen CTE und ROW_NUMBER verwenden :
WITH CTE AS(
SELECT UserID,
StartDate,
EndDate,
ROW_NUMBER() OVER (PARTITION BY UserID ORDER BY UsersWordTimeID DESC) AS RN
FROM usersworktime)
SELECT UserID,
StartDate,
EndDate
FROM CTE
WHERE RN = 1;