Q&A about the site for Ubuntu users and developers
DECLARE @workflowTable AS TABLE (company varchar(50), workflow varchar(50), [date] datetime, cancel varchar(50)) INSERT INTO @workflowTable VALUES ('CompanyA', 'Workflow27', 'June 5 2011', 'Y') ,('CompanyA', 'Workflow27', 'June 8 2011', 'N') ,('CompanyA', 'Workflow27', 'June 12 2011', 'N') ,('CompanyB', 'Workflow13', 'Apr 4 2011', 'Y') ,('CompanyB', 'Workflow13', 'Apr 9 2011', 'N') ,('CompanyB', 'Workflow20', 'Dec 11 2011', 'Y') ,('CompanyB', 'Workflow20', 'Dec 17 2011', 'N') ;WITH partitioned AS ( SELECT company ,workflow ,date ,cancel ,ROW_NUMBER() OVER(PARTITION BY company, workflow ORDER BY date) AS seq FROM @workflowTable ) SELECT * FROM partitioned WHERE seq = 1