Мисля, че от въпроса търсите следващия наличен, въпреки че това може да не е същото като max+1, нали? - В такъв случай:
Започнете със списък с цели числа и потърсете тези, които ги няма в колоната groupid, например:
;WITH CTE_Numbers AS (
SELECT n = 2001
UNION ALL
SELECT n + 1 FROM CTE_Numbers WHERE n < 4000
)
SELECT top 1 n
FROM CTE_Numbers num
WHERE NOT EXISTS (SELECT 1 FROM MyTable tab WHERE num.n = tab.groupid)
ORDER BY n
Забележка:трябва да промените 2001/4000
стойности в CTE, за да позволите диапазона, който искате. Приех името на вашата таблица от MyTable