Я пытаюсь, чтобы мой запрос СЧИТАЛ количество строк пользователя, но у них есть 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]
Ожидаемые результаты должны пройти подсчетЭЭ (сгруппированные по отделам), в которых они передают данные за 3 месяца или более из столбца «Дата», который вводится в формате первого месяца (т. Е. «01/01/2019»)