I have a table in SQL Server 2008;
DateStamp QTY
1/1/2014 1
1/5/2014 2
1/6/2014 3
1/7/2014 2
1/8/2014 3
1/11/2014 1
1/20/2014 6
1/21/2014 4
1/25/2014 1
1/26/2014 2
1/28/2014 3
1/29/2014 2
2/2/2014 3
2/3/2014 1
2/7/2014 6
2/8/2014 4
2/15/2014 1
2/19/2014 2
2/20/2014 3
2/23/2014 2
I would like to have a result like:
sum till minimum threshold is reached lets say 10 for the example (
then show and start over (start summing from zero threafter)
In between result result should be something like;
DateStamp QTY SUBtotal
1/1/2014 1
1/5/2014 2
1/6/2014 3
1/7/2014 2
1/8/2014 3 11
1/11/2014 1
1/20/2014 6
1/21/2014 4 11
1/25/2014 1
1/26/2014 2
1/28/2014 3
1/29/2014 2
2/2/2014 3 11
2/3/2014 1
2/7/2014 6
2/8/2014 4 11
2/15/2014 1
2/19/2014 2
2/20/2014 3
2/23/2014 2
2/26/2014 1
3/1/2014 1 10
Final result
DateStamp total
1/8/2014 11
1/21/2014 11
2/2/2014 11
2/8/2014 11
3/1/2014 10
Thank you
Richard
EDIT: (from comment)
SELECT
t0.*,
SUM(t1.qty),
CASE
WHEN SUM(t1.qty) > 5 THEN SUM(t0.qty) ELSE 0
END AS subtotal
FROM
(SELECT
*,
ROW_NUMBER() OVER(ORDER BY DATESTAMP asc) AS RowNumber
FROM dbo.DATESEARCH) AS t0
INNER JOIN
(SELECT
*,
ROW_NUMBER() OVER(ORDER BY DATESTAMP asc) AS RowNumber
FROM dbo.DATESEARCH) AS t1 ON t1.RowNumber <= t0.RowNumber
GROUP BY
t0.RowNumber, t0.DATESTaMP, t0.qty
HAVING
SUM(t1.qty) > 10