我正在尝试让我的查询计算用户行数,但连续3个月以上的数据(也就是通过的行)。我想知道如何从日期列中确定员工是否连续通过了表中的数据/行数为3个月或以上?
我曾尝试使用COUNT函数并尝试使用临时表,但想看看是否有更好的方法来按部门连续3个月或更长时间通过用户的方式对每个用户进行计数?
DECLARE @TotalUserCount AS INT
SELECT @TotalUserCount = COUNT(DISTINCT [User_ID])
FROM [dbo].[Employee_Monthly_Raw]
SELECT DISTINCT a.Department AS 'Dep', @TotalUserCount AS 'Total_User_Count'
FROM
(SELECT DISTINCT
RTRIM(LTRIM([Department])) AS 'Dep',
[User_ID] AS 'User_ID',
COUNT(ALL @TotalUserCount) AS 'Total_User_Count',
COUNT(DISTINCT [Date]) AS 'Baseline',
FROM [dbo].[Employee_Monthly_Raw]
WHERE
[User_ID] IS NOT NULL
GROUP BY [Dep],[User_ID]
HAVING COUNT(DISTINCT [Date]) >= '6') AS a
GROUP BY [Department]
ORDER BY [Department]
[预期结果应通过一个EE(按其部门分组)计数,在该EE中,它们会通过以月初格式(即'01 / 01/2019)输入的“日期”列中传递3个月或更长时间的数据')
我正在尝试让我的查询计算用户行数,但连续3个月以上的数据(也就是通过的行)。我想知道如何从日期列确定是否为Employee ...
lag()
: