Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.48 KB | None | 0 0
  1. with NumbersCTE as (
  2.     select 'a' as cat, 1 as number
  3.     union all
  4.     select
  5.         case
  6.             when number < 3 then 'a'
  7.             when number < 6 then 'b'
  8.             else 'c'
  9.         end as cat,
  10.         number + 1
  11.     from NumbersCTE
  12.     where number < 10)
  13. select
  14.     cat,
  15.     number,
  16.     case
  17.         when cat != LAG(cat, 1, '') over (order by cat, number) then 0
  18.         else LAG(running_total, 1, 0) over (order by cat, number) + LAG(number, 1, 0) over (order by cat, number)
  19.     end as running_total
  20. from NumbersCTE
  21. order by cat, number;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement