Skip to content

Instantly share code, notes, and snippets.

@jingyang-li
Created August 19, 2020 05:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jingyang-li/ad5a684f15964af2b24284823089fb7f to your computer and use it in GitHub Desktop.
Save jingyang-li/ad5a684f15964af2b24284823089fb7f to your computer and use it in GitHub Desktop.
create table WeekSales(dt datetime, Amount decimal(8,2))
insert into WeekSales values(getdate()-15, 100),(getdate()+0, 100)
,(getdate()-14, 100),(getdate()-23, 100),(getdate()-3, 100),(getdate()-3, 100)
,(getdate()-23, 100),(getdate()+41, 100),(getdate()+11, 100),(getdate()+1, 100)
,(getdate()-52, 100),(getdate()+10, 100),(getdate()+20, 100),(getdate()+0, 100)
,(getdate()-61, 100),(getdate()+53, 100),(getdate()+33, 100),(getdate()+3, 100)
,(getdate()+64, 100),(getdate()+43, 100),(getdate()+46, 100),(getdate()+6, 100)
,(getdate()+53, 100),(getdate()+33, 100),(getdate()+13, 100),(getdate()+12, 100)
,(getdate()+42, 100),(getdate()+23, 100),(getdate()+23, 100),(getdate()+24, 100)
,(getdate()+2, 100),(getdate()+4, 100),(getdate()+5, 100),(getdate()+6, 100)
,(getdate()+3, 100)
select
datename(weekday,dt) Day_Name
,SUM(Amount) Amt
,SUM(SUM(Amount)) OVER() AS sumsumTotal
, SUM(Amount)*1. / SUM(SUM(Amount )) OVER() [Weekdaypercent]
,SUM(SUM(Amount )) OVER(Order by datepart(weekday,dt)) sumsumRunningTotal
FROM WeekSales f
WHERE dt>=dateadd(day,-15,getdate()) and dt<dateadd(day,15,getdate())
GROUP BY datename(weekday,dt),datepart(weekday,dt)
drop table WeekSales
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment