create table #items(MANID INT,DATEITEM DATETIME,JOBID INT)insert into #items(manid, dateitem, jobid)select 1,'01/01/2013 10:20', 1union allselect 1,'01/01/2013 10:20', 2union allselect 2,'02/01/2013 10:20', 1union allselect 3,'14/01/2013 10:20', 1union allselect 3,'14/01/2013 10:20', 1union allselect 4,'10/01/2013 10:20', 1union allselect 4,'09/01/2013 10:20', 2SELECT a.manid, a.JOBID, b.LASTDATEFROM #ITEMS a INNER JOIN(SELECT MANID, MAX(DATEITEM) AS LASTDATEFROM #ITEMSGROUP BY MANID) b on a.manid = b.manid and a.dateitem = b.lastdateorder by a.manidselect distinct a.manid, a.JOBID, b.LASTDATEFROM #ITEMS a INNER JOIN(SELECT MANID, MAX(DATEITEM) AS LASTDATEFROM #ITEMSGROUP BY MANID) b on a.manid = b.manid and a.dateitem = b.lastdateorder by a.maniddrop table #items
SELECT a.manid, MAX(a.JOBID) JOBID, b.LASTDATEFROM #ITEMS a INNER JOIN(SELECT MANID, MAX(DATEITEM) AS LASTDATEFROM #ITEMSGROUP BY MANID) b on a.manid = b.manid and a.dateitem = b.lastdateGROUP BY a.manid, b.LASTDATEorder by a.manid
SELECT items.*FROM #items itemsLEFT OUTER JOIN #items items_new ON items.manid=items_new.manid AND items.jobid<items_new.jobidWHERE items_new.manid IS NULL
SELECT X.emp_id, X.job_id, X.posting_date FROM (SELECT emp_id, job_id, posting_date, MAX(posting_date) OVER (PARTITION BY emp_id) AS last_posting_date FROM Timesheets) AS X WHERE X.posting_date = X.last_posting_date;