मानना कि प्रारंभ और समाप्ति तिथियां हमेशा उच्चतम मान होंगी तो आपको GROUP BY
से कुछ कॉलम छोड़ने होंगे (GROUP BY
. में सभी कॉलम वाले DISTINCT
. का उपयोग करने जैसा है ) और दूसरे कॉलम पर एक समग्र फ़ंक्शन का उपयोग करें:
SELECT UserId,
MAX(StartDate) AS StartDate,
MAX(EndDate) AS EndDate
FROM usersworktime
GROUP BY UserId;
अन्यथा, यदि ऐसा नहीं है, तो आप CTE और 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;