yes, you can make a check constraint that uses a user defined function.
something like this is untested, but kind of gives you an idea of how it would work
create function dbo.LimitedToOne (@GroupId int)
returns int
as
begin
return (select count(ANumber) from dbo.TestTable where GroupId=@GroupId)
end
GO
alter table dbo.TestTable add constraint chkgrp check (dbo.LimitedToOne(GroupId) <= 1)
Lowell