• I cant believe it but I MAY have found a solution:

    SELECT ISNULL(32000.0-A.wrap_count+B.wrap_count+C.[Rollover_Count],0) AS [Count], A.Date

    FROM

    (SELECT

    ROW_NUMBER() OVER ( PARTITION BY dateadd(DAY,0, datediff(day,0,t_stamp)) ORDER BY t_stamp) AS 'RowNumber',

    wrap_count,

    dateadd(DAY,0, datediff(day,0, t_stamp)) AS [Date]

    FROM AP7_E_Open_Flap_Test

    WHERE t_stamp > '2013-06-13 00:00:00' and t_stamp < '2013-06-13 11:59:00')A -- put report dates in here

    LEFT OUTER JOIN

    (SELECT

    ROW_NUMBER() OVER ( PARTITION BY dateadd(DAY,0, datediff(day,0,t_stamp)) ORDER BY t_stamp DESC ) AS 'RowNumber',

    wrap_count,

    dateadd(DAY,0, datediff(day,0, t_stamp))AS [Date]

    FROM AP7_E_Open_Flap_Test

    WHERE t_stamp > '2013-06-13 00:00:00' and t_stamp < '2013-06-13 11:59:00')B

    ON A.Date = B.Date

    LEFT OUTER JOIN

    (SELECT (COUNT(*)-1)*32000.0 as [Rollover_Count]

    ,dateadd(DAY,0, datediff(day,0, t1.t_stamp)) AS [Date]

    FROM AP7_E_Open_Flap_Test t1

    FULL OUTER JOIN AP7_E_Open_Flap_Test t2

    ON t1.AP7_E_Open_Flap_Test_ndx = t2.AP7_E_Open_Flap_Test_ndx -1

    WHERE t2.wrap_count < t1.wrap_count AND t2.wrap_count IS NOT NULL

    AND t1.t_stamp > '2013-06-13 00:00:00' and t1.t_stamp < '2013-06-13 11:59:00' -- Also need report dates here

    group by dateadd(DAY,0, datediff(day,0, t1.t_stamp)))C

    ON B.Date = C.Date

    WHERE A.Rownumber = 1 AND B.Rownumber = 1

    ORDER BY A.Date

    Any comments welcome (please) cause I mackled this together so I presume there is a better method. Need a lie down now.

    P.S. Edited a couple of times as little bugs pop up like the ISNULL on the initial SELECT line for when the count remains static for that day (no change in count values)