我有一个表“客户
”。
它有一个列名“CreatedDate
”,表示它是客户的加入日期。
我想计算从当前日期到终止日期 1-5 年、6-10 年、11-15 年之间有多少客户,如下所示
Years No of Customer
0-5 200
6-10 500
11-15 100
详细说明,如果客户创建日期是“5-5-2010”,那么它应该在当前日期后 0-5 年的范围内。
如果创建日期是“5-5-2006”,那么它应该在当前日期后 6-10 年的范围内。
最佳答案
像这样:
with cte as (
select ((datediff(yy, CreatedDate, getdate()) - 1) / 5) * 5 + 1 as d
from Customers
)
select
cast(d as nvarchar(max)) + '-' + cast(d + 4 as nvarchar(max)),
count(*)
from cte
group by d
关于SQL查询根据加入日期获取客户数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19487147/