Forudsat at start- og slutdatoerne altid vil være de højeste værdier, så skal du slette nogle af kolonnerne fra GROUP BY
(med alle kolonnerne i GROUP BY
er lidt som at bruge DISTINCT
) og brug en aggregeret funktion i den anden kolonne:
SELECT UserId,
MAX(StartDate) AS StartDate,
MAX(EndDate) AS EndDate
FROM usersworktime
GROUP BY UserId;
Ellers, hvis det ikke er tilfældet, kan du bruge en CTE og 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;