每个月的得分规则一样吗?比如都是按距离月初的天数来算,如果规则一样,直接判断提交时间与提交时间所在月的一号中间间隔,最后对间隔天数case when 得出分数。
如果规则不一样,那只能辛苦人力穷举了,把每月的数据都case when 出来, 最后union all 求和。
SELECT TOP 1000
dDate,convert(varchar(10),dateadd(dd,-datepart(dd,dDate)+1,dDate) ,23) as firstday ,
DATEDIFF(d,convert(varchar(10),dateadd(dd,-datepart(dd,dDate)+1,dDate) ,23),dDate) as '间隔'
FROM 表名
ddate 换成你的提交时间就行了。