ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 记录下自己还没有解决的问题

记录下自己还没有解决的问题

原创 Linux操作系统 作者:flsong 时间:2010-03-28 21:22:37 0 删除 编辑
个人写sql存在疑问的问题
1 查询一张表中数据的第100到110条。id唯一,但中间不连续(用两种写法)
2 删除一张表A中的
 ( 1)、完全重复的记录
 ( 2)、部分字段重复的记录
上面这个没有提及字段,估计是使用sql语句函数的使用。
 
3 把一张表A(id,sid,name,sex,age)里面的记录进行行列转换
 
4create table table1
( stu_id int,
  stu_name varchar(10),
  class_no varchar(4),
  class_name varchar(10),
  score int,
  tea_id int,
  tea_name varchar(10)
)

insert into table1 values(1,'王老五','A_1','语文',80,1,'李老师');
insert into table1 values(2,'李四','A_1','语文',70,2,'陈老师');
insert into table1 values(3,'张三','A_1','语文',58,1,'李老师');
insert into table1 values(1,'王老五','B_1','数学',89,3,'孙老师');
insert into table1 values(2,'李四','B_1','数学',79,3,'孙老师');
insert into table1 values(3,'张三','B_1','数学',88,4,'邱老师');
insert into table1 values(1,'王老五','C_1','政治',79,5,'朱老师');
insert into table1 values(2,'李四','C_1','政治',69,5,'朱老师');
insert into table1 values(3,'张三','C_1','政治',55,5,'朱老师');

1 、求出各门课程成绩最好的记录
2 、求出每门课程成绩最好和最差的记录

3 、select class_no,max(class_name),avg(score) as '平均成绩',max(score) as '最高成绩',
sum(case when score>=60 then 1 else 0 end) as '及格人数',min(score) as '最低成绩' from table1 group by class_no
我写的求出按照各门课程分组的最高成绩,最低成绩,及格人数,但是怎么能够取得相应的 stu_id及tea_id呢?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7273036/viewspace-630586/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: test restore database
下一篇: sql-colection
请登录后发表评论 登录
全部评论

注册时间:2010-03-23

  • 博文量
    3
  • 访问量
    3882