Вы ищете агрегацию и order by
?
SELECT TOP (1) CONVERT(DATE, authorization_time), COUNT(*)
FROM T_USER_AUDIT
WHERE authorization_time >= DATEADD(day,-30, getdate()) AND
authorization_time <= getdate()
GROUP BY CONVERT(DATE, authorization_time)
ORDER BY COUNT(*) DESC;
Вы говорите, что текущий код работает, но я с подозрением. GETDATE()
возвращает компонент времени, который влияет на сравнение. Это означает, что у вас есть неполные дни для первого и последнего дня.