create table t(序号 int,姓名 varchar(10),籍贯 varchar(10))
insert into t select 1 ,'张三' ,'广东'
union all select 2, '李四', '广东'
union all select 3, '王二', '广东'
union all select 4, '麻子', '广东'
union all select 5, '李明', '广东'
union all select 6, '刘二', '广东'
union all select 7, '吴号', '江苏'
union all select 8, '李四', '江苏'
union all select 9 ,'刘名', '江苏'
union all select 10, '成名', '江苏'
union all select 11, '李波' ,'江苏'
union all select 12 ,'张三', '江苏'
select * from t
select * from t x where 序号 in(select top 4 序号 from t where 籍贯=x.籍贯)
--这样?
declare @t table(序号 int,姓名 varchar(10),籍贯 varchar(10))
insert into @t select 1 ,'张三' ,'广东'
union all select 2, '李四', '广东'
union all select 3, '王二', '广东'
union all select 4, '麻子', '广东'
union all select 5, '李明', '广东'
union all select 6, '刘二', '广东'
union all select 7, '吴号', '江苏'
union all select 8, '李四', '江苏'
union all select 9 ,'刘名', '江苏'
union all select 10, '成名', '江苏'
union all select 11, '李波' ,'江苏'
union all select 12 ,'张三', '江苏'
select top 4 姓名,籍贯 from @t where 籍贯='广东'
union all
select top 4 姓名,籍贯 from @t where 籍贯='江苏'