Правильно ли введены исходные значения даты или значения даты / времени хранятся в строковых столбцах?Если это так, вы должны действительно изменить это ...
Если я правильно понял, вы хотите найти записи, где date1
и date2
находятся в один и тот же день.Приведение DATETIME
к DATE
избавит от временной части.
Вы можете использовать CTE для непосредственного использования псевдонимов столбцов
;WITH cte AS
(
SELECT [USERNAME], count(*) AS [NumberOfHappening], min([date1]) AS [FirstDate], max([date2]) AS [SecondDate]
FROM TableMain
GROUP BY [USERNAME]
)
SELECT *
FROM cte
WHERE CAST([FirstDate] AS DATE) = CAST([SecondDate] AS DATE)
ORDER BY NumberOfHappening DESC;