Вы используете функцию MAX (), которая возвращает наибольшее значение. Если вы хотите посчитать количество вхождений (строк), вам нужно использовать функцию COUNT ().
Редактировать
Требуется больше деталей, но в SQL Server вы можете попробовать что-то вроде этого:
SELECT col1, col2, count(1) + 1 as col3
FROM table1
GROUP BY col1, col2
Будет подсчитано количество различных пар col1 и col2 , затем добавится один к нему и будет отображаться как col3 . Из того, что я понимаю, вам не нужно использовать текущее значение col3 , поскольку вы его пересчитываете.