Sql 随着时间的推移计数的意外输出
在下面的查询中,我得到了累计销售代表及其各自的客户加班时间(月末): 客户加班确实是正确的,但是,我如何才能累积获得正确的重复次数,如下所示:Sql 随着时间的推移计数的意外输出,sql,amazon-redshift,Sql,Amazon Redshift,在下面的查询中,我得到了累计销售代表及其各自的客户加班时间(月末): 客户加班确实是正确的,但是,我如何才能累积获得正确的重复次数,如下所示: month count sum 1/1/2018 350 2000 2/1/2018 700 3000 3/1/2018 1000 4000 仅供参考,我可以通过执行AGG(rep_id)在Tableau中实现此功能。查询中有一些问题需要解决 count(rep\u id)正在计算非空值,因为可能
month count sum
1/1/2018 350 2000
2/1/2018 700 3000
3/1/2018 1000 4000
仅供参考,我可以通过执行AGG(rep_id)在Tableau中实现此功能。查询中有一些问题需要解决
count(rep\u id)
正在计算非空值,因为可能没有空的rep\u id,这与计算行数相同
group by date,rep_id
每个rep_id返回一行,每个日期返回一行,而不是每个月返回一行。我知道您需要按日期分组,因为您在row_number()函数中使用它
在不修改太多原始查询的情况下,我会这样写:(对不起,没有测试)
统计当月或之前的人数。您好,吉斯兰,欢迎光临。尝试使用StackOverflow,以及如何提供
month count sum
1/1/2018 1000 2000
2/1/2018 1000 3000
3/1/2018 1000 4000
month count sum
1/1/2018 350 2000
2/1/2018 700 3000
3/1/2018 1000 4000
select month, count(DISTINCT rep_id), count(DISTINCT user_id)
from
(
select date_trunc('month', date)::date as month,
CASE WHEN created_date <= date THEN rep_id ELSE NULL END rep_id,
case when applied_date <= date then user_id else null end) user_id
from
(
select r.rep_id, r.created_date, u.id as user_id, u.applied_date
from reps r
left outer join clients u on r.id = u.rep_id
) z
cross join
(select * from calendar
where date between '2018-01-01' and convert_timezone('PST', getdate())
) c
) sub
group by 1
CASE WHEN created_date <= date THEN rep_id ELSE NULL END rep_id,
case when applied_date <= date then user_id else null end) user_id
count(DISTINCT rep_id), count(DISTINCT user_id)