sql server - Querying a running-percentage over a date range from MSSQL? -
i want graph % of users on time have twitter account connected. number of users changes constantly, , % of them connect twitter account.
the table has user account specific createdatetime
column tw_connectdatetime
column.
let's i'm interested in trend of % connected on last 7 days. there way can have mssql calculate percentage every day in specified range, or need myself using multiple queries?
doing in app logic (pseudocode):
for day in days: query: select count(userid) totalusers ,c.connected ,cast(c.connected float)/count(userid) percentage users outer apply ( select count(userid) connected users tw_connectdatetime <= $day ) c createdatetime <= $day group c.connected
what i'm unsure of how, if it's possible, expand run each day, results include date column , same values running above query each date in range.
is possible? if so, how?
actually can use query joined days, this:
cte_days ( select @datestart day union select dateadd(dd, 1, c.[day]) [day] cte_days c c.[day] < @dateend ) select d.[day], count(u.userid) totalusers, c.connected, cast(c.connected float)/count(u.userid) percentage cte_days d inner join users u on u.createdatetime <= d.[day] outer apply ( select count(t.userid) connected users t t.tw_connectdatetime <= d.[day] ) c group d.[day], c.connected
Comments
Post a Comment