34,590
社区成员
发帖
与我相关
我的任务
分享
DECLARE @test table (
Name varchar(10),
Course varchar(10),
Mark float)
insert into @test
select '张三 ', '语文 ', 81 union
select '张三 ', '数学 ', 75 union
select '李四 ', '语文 ', 76 union
select '李四 ', '数学 ', 90 union
select '王五 ', '英语 ', 100 union
select '王五 ', '语文 ', 81
SELECT NAME FROM @test GROUP BY name HAVING count(*)=count(case when mark>=80 then 1 else null end)
--或者
SELECT NAME FROM @test GROUP BY name HAVING count(*)=sum(case when mark>=80 then 1 else 0 end)