zoukankan      html  css  js  c++  java
  • 16-成绩3

    create table student(
    uid string,
    name string,
    sex string,
    age string,
    xi string
    )
    row format delimited fields terminated by ','
    lines terminated by '
    '
    stored as textfile;
    load data local inpath '/my_student.txt' into table student;
    
    create table course(
    cid string,
    cname string
    )
    row format delimited fields terminated by ','
    lines terminated by '
    '
    stored as textfile;
    load data local inpath '/my_course.txt' into table course;
    
    create table score1(
    uid string,
    cid string,
    score string
    )
    row format delimited fields terminated by ','
    lines terminated by '
    '
    stored as textfile;
    load data local inpath '/my_score.txt' into table score1;
    
    表的关联(两张表关联)
    
    查询选修了课程的学生姓名
    
    
    
    计算数据库课程的学生平均成绩(谁选择了数据库课程,选择的那个人的平均成绩,并且按照成绩进行排序)
    1.根据课程查询课程id
    2.课程id查询学生id
    3.根据学生们查询出来这些学生的所有成绩
    4.按照学生分组求出每个学生的平均分数
    5.order by score desc
    
    
    查询选修操作系统课程的学生最高分数和人
    1.根据操作系统查询出来课程id
    2.根据课程id查询出来所有的学生和分数
    3.查询出来所有分数中的最高分
    4.谁的分数和最高分是一样的
    5.求出这个人
    
    
    
    求各个课程名及相应的选课人数 
    
    
    查询选修了4门以上的课程的学生姓名

    my_course.txt

    1,数据库
    2,数学
    3,信息系统
    4,操作系统
    5,数据结构
    6,数据处理

    my_score.txt

    95001,1,81
    95001,2,85
    95001,3,88
    95001,4,70
    95002,2,90
    95002,3,80
    95002,4,71
    95002,5,60
    95003,1,82
    95003,3,90
    95003,5,100
    95004,1,80
    95004,2,92
    95004,4,91
    95004,5,70
    95005,1,70
    95005,2,92
    95005,3,99
    95005,6,87
    95006,1,72
    95006,2,62
    95006,3,100
    95006,4,59
    95006,5,60
    95006,6,98
    95007,3,68
    95007,4,91
    95007,5,94
    95007,6,78
    95008,1,98
    95008,3,89
    95008,6,91
    95009,2,81
    95009,4,89
    95009,6,100
    95010,2,98
    95010,5,90
    95010,6,80
    95011,1,81
    95011,2,91
    95011,3,81
    95011,4,86
    95012,1,81
    95012,3,78
    95012,4,85
    95012,6,98
    95013,1,98
    95013,2,58
    95013,4,88
    95013,5,93
    95014,1,91
    95014,2,100
    95014,4,98
    95015,1,91
    95015,3,59
    95015,4,100
    95015,6,95
    95016,1,92
    95016,2,99
    95016,4,82
    95017,4,82
    95017,5,100
    95017,6,58
    95018,1,95
    95018,2,100
    95018,3,67
    95018,4,78
    95019,1,77
    95019,2,90
    95019,3,91
    95019,4,67
    95019,5,87
    95020,1,66
    95020,2,99
    95020,5,93
    95021,2,93
    95021,5,91
    95021,6,99
    95022,3,69
    95022,4,93
    95022,5,82
    95022,6,100

    my_student.txt

    95001,李勇,男,20,CS
    95002,刘晨,女,19,IS
    95003,王敏,女,22,MA
    95004,张立,男,19,IS
    95005,刘刚,男,18,MA
    95006,孙庆,男,23,CS
    95007,易思玲,女,19,MA
    95008,李娜,女,18,CS
    95009,梦圆圆,女,18,MA
    95010,孔小涛,男,19,CS
    95011,包小柏,男,18,MA
    95012,孙花,女,20,CS
    95013,冯伟,男,21,CS
    95014,王小丽,女,19,CS
    95015,王君,男,18,MA
    95016,钱国,男,21,MA
    95017,王风娟,女,18,IS
    95018,王一,女,19,IS
    95019,邢小丽,女,19,IS
    95020,赵钱,男,21,IS
    95021,周二,男,17,MA
    95022,郑明,男,20,MA

     

     

     

     

    字段是string类型  要改成int 类型

    问题?
    hive> select s.name,round(t2.avg) av > from > student s, > (select avg(t1.score) avg,t1.uid > from > (select sc.score,t.uid > from > score1 sc, > (select sc.uid > from score1 sc,course c > where sc.cid=c.cid and c.cname='数据库')t > where sc.uid=t.uid)t1 > group by t1.uid)t2 > where s.uid=t2.uid order by av desc; FAILED: ParseException line 11:34 character '' not supported here line 11:35 character '' not supported here line 11:36 character '' not supported here line 14:35 character '<EOF>' not supported here

  • 相关阅读:
    老司机心得之时间管理"入坑"
    shell的字符串和数字的转化(数字自动做字符串处理,变量名做字符串输出用单引号)
    shell的date命令:使用方法,以及小时、分钟的计算
    一篇详细的linux中shell语言的字符串处理
    linux的string操作(字符串截取,长度计算)
    linux下数学运算器:expr命令(shell中完成数学运算)
    shell脚本格式的几点注意:格式严格,空格不能随便出现(一写就记不住)
    vim的颜色修改,高亮设置。
    pyhton exit
    python判断类型:想知道一个对象(实例或者变量)是什么类型,什么结构的
  • 原文地址:https://www.cnblogs.com/JBLi/p/10849179.html
Copyright © 2011-2022 走看看