首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一下表的SQL语句,该怎么处理

2012-01-07 
求一下表的SQL语句表结构如下表名:T1IDNameSubjectScore1李军语文782李军数学633王明语文584王明数学675李

求一下表的SQL语句
表结构如下
表名:T1

ID             Name               Subject                   Score
1               李军               语文                         78
2               李军               数学                         63
3               王明               语文                         58
4               王明               数学                         67
5               李军               英语                         49
6               陈含               语文                         90
……
……
……
说明:科目有很多,不只是上面出现的语文,数学,英语。

要求查询出至少有两门学科(包含两门)及格的学生姓名
谢谢

[解决办法]
select name from t1 where score > = 60 group by name having count(*) > = 2
[解决办法]
if object_id( 'pubs..T1 ') is not null
drop table T1
go

create table T1(ID int,Name varchar(10),Subject varchar(10),Score int)
insert into T1(ID,Name,Subject,Score) values(1, '李军 ', '语文 ', 78)
insert into T1(ID,Name,Subject,Score) values(2, '李军 ', '数学 ', 63)
insert into T1(ID,Name,Subject,Score) values(3, '王明 ', '语文 ', 58)
insert into T1(ID,Name,Subject,Score) values(4, '王明 ', '数学 ', 67)
insert into T1(ID,Name,Subject,Score) values(5, '李军 ', '英语 ', 49)
insert into T1(ID,Name,Subject,Score) values(6, '陈含 ', '语文 ', 90)
go

select name from t1 where score > = 60 group by name having count(*) > = 2

drop table T1

/*
name
----------
李军

(所影响的行数为 1 行)
*/
[解决办法]
--过滤Score > = 60 后,按Name分组,取记录数> =2的姓名

select Name
from T1
where Score > = 60
group by Name
having count(*) > = 2

热点排行