美文网首页
Hive开发--Hive--示例(三)

Hive开发--Hive--示例(三)

作者: 无剑_君 | 来源:发表于2019-12-23 17:06 被阅读0次

一、学生课程教师与成绩

1. 表名和字段

1)学生表

student(s_id,s_name,s_birth,s_sex) – 学生编号,学生姓名, 出生年月,学生性别

2)课程表

course(c_id,c_name,t_id) – 课程编号, 课程名称, 教师编号

3)教师表

teacher(t_id,t_name) – 教师编号,教师姓名

4)成绩表

score(s_id,c_id,s_score) – 学生编号,课程编号,分数

2. 创建表

要求所有表字段间使用逗号分隔。

1)创建学生表
2)创建课程表
3)创建教师表
3)创建成绩表

3. 测试数据

1)学生表测试数据
01,赵伟,1990-01-01,男
02,钱枫,1990-12-21,男
03,孙斌,1990-05-20,男
04,李云,1990-08-06,男
05,周梅,1991-12-01,女
06,吴岚,1992-03-01,女
07,李祖,1989-07-01,女
08,王璐,1990-01-20,女
2)课程表测试数据
01,语文,02
02,数学,01
03,英语,03
3)教师表测试数据
01,张老师
02,李老师
03,赵老师
4)成绩表测试数据
01,01,80
01,02,90
01,03,99
02,01,70
02,02,60
02,03,80
03,01,80
03,02,80
03,03,80
04,01,50
04,02,30
04,03,20
05,01,76
05,02,87
06,01,31
06,03,34
07,02,89
07,03,98

3. 任务要求

1) 统计每个学生的总成绩。

参考格式:

+-------------+--------+
| stu.s_name  | zf.ss  |
+-------------+--------+
| 赵伟          | 269    |
| 钱枫          | 210    |
| 孙斌          | 240    |
| 李云          | 100    |
| 周梅          | 163    |
| 吴岚          | 65     |
| 李祖          | 187    |
+-------------+--------+

2) 查找所有学生姓名和英语成绩

参考格式:

+-------------+-----------+------------+
| stu.s_name  | c.c_name  | s.s_score  |
+-------------+-----------+------------+
| 赵伟          | 英语        | 99         |
| 钱枫          | 英语        | 80         |
| 孙斌          | 英语        | 80         |
| 李云          | 英语        | 20         |
| 吴岚          | 英语        | 34         |
| 李祖          | 英语        | 98         |
+-------------+-----------+------------+

3) 给所有学生总分数上加10分特长分

参考格式:

+-------+------+
| s_id  | _c1  |
+-------+------+
| 1     | 279  |
| 2     | 220  |
| 3     | 250  |
| 4     | 110  |
| 5     | 173  |
| 6     | 75   |
| 7     | 197  |
+-------+------+

4)查询孙斌的总成绩

参考格式:

+------+
| _c0  |
+------+
| 240  |
+------+
5) 查询英语成绩大于90同学

参考格式:

+-------------+------------+------------+-----------+
| stu.s_name  | stu.s_sex  | s.s_score  | c.c_name  |
+-------------+------------+------------+-----------+
| 赵伟          | 男          | 99         | 英语        |
| 李祖          | 女          | 98         | 英语        |
+-------------+------------+------------+-----------+

6) 找出总分大于270分的所有同学

参考格式:

+-----------+-------------+------------+--------------+
| stu.s_id  | stu.s_name  | stu.s_sex  | stu.s_birth  |
+-----------+-------------+------------+--------------+
| 1         | 赵伟          | 男          | 1990-01-01   |
+-----------+-------------+------------+--------------+

7)查出数学成绩在 80-90之间的同学
+-------------+------------+------------+-----------+
| stu.s_name  | stu.s_sex  | s.s_score  | c.c_name  |
+-------------+------------+------------+-----------+
| 赵伟          | 男          | 90         | 数学        |
| 孙斌          | 男          | 80         | 数学        |
| 周梅          | 女          | 87         | 数学        |
| 李祖          | 女          | 89         | 数学        |
+-------------+------------+------------+-----------+

8)查询数学分数为80,98,99的同学
+-------------+------------+------------+-----------+
| stu.s_name  | stu.s_sex  | s.s_score  | c.c_name  |
+-------------+------------+------------+-----------+
| 赵伟          | 男          | 99         | 英语        |
| 钱枫          | 男          | 80         | 英语        |
| 孙斌          | 男          | 80         | 英语        |
| 李祖          | 女          | 98         | 英语        |
+-------------+------------+------------+-----------+

9) 查询所有姓李的学生平均成绩

参考格式:

+-------------+---------------------+
| stu.s_name  |         _c1         |
+-------------+---------------------+
| 李云          | 33.333333333333336  |
| 李祖          | 93.5                |
+-------------+---------------------+

10) 查询数学分小于80,语文分大于30的同学
+-------------+------------+-------------+--------------+
| _u1.s_name  | _u1.s_sex  | _u1.c_name  | _u1.s_score  |
+-------------+------------+-------------+--------------+
| 吴岚          | 女          | 语文          | 31           |
| 周梅          | 女          | 语文          | 76           |
| 孙斌          | 男          | 语文          | 80           |
| 李云          | 男          | 数学          | 30           |
| 李云          | 男          | 语文          | 50           |
| 赵伟          | 男          | 语文          | 80           |
| 钱枫          | 男          | 数学          | 60           |
| 钱枫          | 男          | 语文          | 70           |
+-------------+------------+-------------+--------------+

11) 对所有同学数学成绩排序

参考格式:

+-------------+------------+-----------+------------+
| stu.s_name  | stu.s_sex  | c.c_name  | s.s_score  |
+-------------+------------+-----------+------------+
| 赵伟          | 男          | 数学        | 90         |
| 李祖          | 女          | 数学        | 89         |
| 周梅          | 女          | 数学        | 87         |
| 孙斌          | 男          | 数学        | 80         |
| 钱枫          | 男          | 数学        | 60         |
| 李云          | 男          | 数学        | 30         |
+-------------+------------+-----------+------------+

12) 找出各科成绩的最高分,以及各科累计总分

参考格式:

+------+------------+------------+
| _c0  | max_score  | sum_score  |
+------+------------+------------+
| 语文   | 80         | 387        |
| 数学   | 90         | 436        |
| 英语   | 99         | 411        |
+------+------------+------------+

13) 对姓李的学生数学成绩排序

相关文章

网友评论

      本文标题:Hive开发--Hive--示例(三)

      本文链接:https://www.haomeiwen.com/subject/dzrunctx.html