Tôi nghĩ từ câu hỏi bạn đang tìm kiếm tiếp theo có sẵn, mặc dù điều đó có thể không giống với max + 1 phải không? - Trong trường hợp đó:
Bắt đầu với danh sách các số nguyên và tìm những số nguyên không có trong cột nhóm, ví dụ:
;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
Lưu ý:bạn cần chỉnh sửa 2001/4000
giá trị trong CTE để cho phép phạm vi bạn muốn. Tôi đã đặt tên bảng của bạn thành MyTable