Чтобы сгруппировать данные по двум полям, вы должны добавить оба поля в секцию GROUP BY запроса.
В данном случае вы хотите сгруппировать данные по полям [error_number] и [error_desc], следовательно, ваш запрос будет выглядеть так:
SELECT TOP (100)
[error_number],
[error_desc],
COUNT([error_number]) AS total
FROM Db.tab_error
GROUP BY [error_number], [error_desc]
Чтобы добавить поле error_desc в результат, вы уже делаете это с помощью функции MAX([error_desc]) AS error_desc. Однако, для некоторых баз данных может потребоваться использование функций агрегирования (например, MAX или MIN), чтобы корректно отображать поле для каждой группы. Это может произойти, если у вас есть несколько значений [error_desc] для каждого [error_number].