Za předpokladu že počáteční a koncové datum budou vždy nejvyšší hodnoty, pak musíte některé sloupce vypustit z GROUP BY
(se všemi sloupci v GROUP BY
je něco jako použití DISTINCT
) a ve druhém sloupci použijte agregační funkci:
SELECT UserId,
MAX(StartDate) AS StartDate,
MAX(EndDate) AS EndDate
FROM usersworktime
GROUP BY UserId;
Jinak, pokud tomu tak není, můžete použít CTE a ROW_NUMBER
:
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;