计算SQL Server中Employees的工作天数

时间:2017-04-04 03:44:32

标签: sql sql-server sql-server-2008 tsql sql-server-2012

我有一个包含交易数据的数据库。我想计算所有员工在'2016-03-01'和'2017-03-01'之间工作的天数。我用来确定每位员工的工作天数是通过count(distinct day(datecompleted))来完成的,其中datecompleted类似于员工完成活动作为驱动程序的那一天。

问题是每天可以有50-100个交易,每个交易都有一个日期完成的时间戳,但是我只是想通过抓住一个不同的日子(datecompleted)然后计算给定日期之间的数量来检查员工当天的工作情况。时间框架......

我使用了这个查询:

select 
    count(distinct day(dateCompleted)),
    repName
from 
    DATABASE_view_Final
where 
    datecompleted between '2016-03-01' and '2017-03-01'
group by 
    repName

出于某种原因,我一直得到结果:31 ....

这没有任何意义......有人请帮忙

1 个答案:

答案 0 :(得分:2)

您的计算明显(1-31)不日期。也许你可以试试:

select count(distinct cast(dateCompleted as date)),
repName
from DATABASE_view_Final
where datecompleted between '2016-03-01' and '2017-03-01'
group by repName