У меня есть таблица со строками, содержащей столбец с именем MySubId
.Значения в этом столбце могут быть продублированы.Я хочу найти значение MySubId
и количество строк для значения MySubId
, которое отображается чаще всего.
У меня есть следующий запрос:
SELECT MySubId, COUNT(MySubId) AS MySubIdCount
FROM MyTable
GROUP BY MySubId
HAVING COUNT(MySubId)=MAX(COUNT(MySubId))
Но я получаюошибка:
Сообщение 130, уровень 15, состояние 1, строка 4 Не удается выполнить функцию агрегирования для выражения, содержащего агрегат или подзапрос.
Разве это невозможно?сделать это с помощью простого запроса?Нужно ли встраивать подзапрос для расчета MAX, прежде чем использовать его в предложении HAVING
?
Обновление:
Я вижу множество ответов, фильтрующих результат, установленныйиспользуя TOP 1
, поэтому я должен предположить, что нет способа использовать функцию MAX
для фильтрации этого запроса по максимальному значению MySubId
значений?