您的位置:首页 > 数据库

统计学生成绩部分sql语句

2012-08-08 09:14 260 查看
1,建表语句

CREATE TABLE [dbo].[Grades](
[student] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[subject] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[grade] [int] NULL
) ON [PRIMARY]


2,插入数据

insert grades (student,subject,grade)  values ( 'student1','subject1',89)
insert grades (student,subject,grade)  values ( 'student1','subject2',32)
insert grades (student,subject,grade)  values ( 'student1','subject3',79)
insert grades (student,subject,grade)  values ( 'student2','subject1',70)
insert grades (student,subject,grade)  values ( 'student2','subject2',59)
insert grades (student,subject,grade)  values ( 'student2','subject3',84)
insert grades (student,subject,grade)  values ( 'student3','subject1',67)
insert grades (student,subject,grade)  values ( 'student3','subject2',48)
insert grades (student,subject,grade)  values ( 'student3','subject3',79)


3,sql

-- 查询每个学生的最高分科目
select * from grades a where grade in
(
select max(grade) from grades B where a.Student=B.Student
)
order by student

-- 查询单科最高分
select * from grades a where grade in
(
select max(grade) from grades B where a.Subject=B.Subject
)
order by Subject

 

所有数据:



最终查询结果:



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql insert null table