Home Forums SQL Server 7,2000 T-SQL Help getting a count by consecutive groups RE: Help getting a count by consecutive groups

  • This query should get you what you need:

    create table CreateStatus (CreateStatus varchar(256), LastCreate datetime, NextCreate datetime);

    go

    insert CreateStatus

    values ('Busy','2013-09-05 14:42:46.827','2013-09-09 08:40:18.487')

    ,('Busy','2013-09-09 08:40:18.487','2013-09-09 11:33:27.927')

    ,('At Lunch','2013-09-09 11:33:27.927','2013-09-09 13:02:27.133')

    ,('Busy','2013-09-09 13:02:27.133','2013-09-10 14:37:58.107')

    ,('Busy','2013-09-10 14:37:58.107','2013-09-13 08:41:04.030')

    ,('At Lunch','2013-09-11 11:33:27.927','2013-09-14 13:02:27.133')

    ;

    with CTE as

    (

    select

    CreateStatus

    ,LastCreate

    ,NextCreate

    ,ROW_NUMBER() over (order by CreateStatus, LastCreate) -ROW_NUMBER() over (order by LastCreate) grp

    from CreateStatus

    )

    SELECT

    CreateStatus

    ,count(*) as StatusCount

    FROM CTE

    group by

    grp

    ,CreateStatus



    Microsoft Certified Master - SQL Server 2008
    Follow me on twitter: @keith_tate

    Forum Etiquette: How to post data/code on a forum to get the best help[/url]