select 分析人员,周六天数=count(*) from tbname where datepart(weekday,rq) = 7 and datediff(mm,rq,getdate())=0 group by 分析人员--datediff(mm,rq,getdate())=0 当月 --datediff(mm,rq,getdate())=1 上月
with cte as ( select dateadd(day,-datepart(day,getdate())+1,getdate()) dy union all select dateadd(day,1,dy) from cte where month(dy)=month(dateadd(day,1,dy)) ) select sum(case when datepart(weekday,dy) in(6,7) then 1 else 0 end) from cte
where datepart(weekday,rq) = 7 and datediff(mm,rq,getdate())=0
group by 分析人员--datediff(mm,rq,getdate())=0 当月
--datediff(mm,rq,getdate())=1 上月
(
select dateadd(day,-datepart(day,getdate())+1,getdate()) dy
union all
select dateadd(day,1,dy)
from cte where month(dy)=month(dateadd(day,1,dy))
)
select sum(case when datepart(weekday,dy) in(6,7) then 1 else 0 end) from cte