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), score int) INSERT INTO @workflowTable VALUES ('CompanyA', 'Workflow27', 'June 5 2011', 'N', 1) ,('CompanyA', 'Workflow27', 'June 8 2011', 'N', 2) ,('CompanyA', 'Workflow27', 'June 8 2011', 'N', 3) ,('CompanyA', 'Workflow27', 'June 12 2011', 'Y', 15) ,('CompanyB', 'Workflow13', 'Apr 4 2011', 'Y', 5) ,('CompanyB', 'Workflow13', 'Apr 9 2011', 'N', 9) ,('CompanyB', 'Workflow20', 'Dec 11 2011', 'Y', 12) ,('CompanyB', 'Workflow20', 'Dec 17 2011', 'N', 8) ;WITH partitioned AS ( SELECT company ,workflow ,date ,cancel ,score ,ROW_NUMBER() OVER(PARTITION BY company, workflow ORDER BY date) AS seq FROM @workflowTable ) SELECT date, cancel, sum(score) FROM partitioned WHERE seq = 1 group by date, cancel