初级练习[2]:Hive SQL查询汇总分析

news2024/11/15 9:43:33

目录

SQL查询汇总分析

成绩查询

 查询编号为“02”的课程的总成绩

 查询参加考试的学生个数

分组查询

 查询各科成绩最高和最低的分

 查询每门课程有多少学生参加了考试(有考试成绩)

 查询男生、女生人数

 分组结果的条件

查询平均成绩大于60分的学生的学号和平均成绩

 查询至少选修四门课程的学生学号

 查询同姓(假设每个学生姓名的第一个字为姓)的学生名单并统计同姓人数大于2的姓

 查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列

 统计参加考试人数大于等于15的学科

 查询结果排序 & 分组指定条件

 查询学生的总成绩并按照总成绩降序排序

 按照如下格式显示学生的语文、数学、英语三科成绩,没有成绩的输出为0,按照学生的有效平均成绩降序显示

查询一共参加三门课程且其中一门为语文课程的学生的id和姓名


SQL查询汇总分析

环境准备看如下链接

环境准备icon-default.png?t=O83Ahttps://blog.csdn.net/qq_45115959/article/details/142057624?spm=1001.2014.3001.5501  

成绩查询

 查询编号为“02”的课程的总成绩
hive>
select
  course_id,
  sum(score) score_sum
from score_info
where course_id='02'
group by course_id;

结果

course_id score_sum
02 1133

 查询参加考试的学生个数

思路: 对成绩表中的学号做去重并count

hive>
select
  count(distinct stu_id) stu_num
from score_info;

结果

stu_num
19

分组查询
 查询各科成绩最高和最低的分

思路: 按照学科分组并使用max和min。

hive> 
select
  course_id,
  max(score) max_score,
  min(score) min_score
from score_info
group by course_id;

结果

course_id max_score min_score
01 94 38
02 93 34
03 99 32
04 100 34
05 87 59

 查询每门课程有多少学生参加了考试(有考试成绩)
hive> 
select
  course_id,
  count(stu_id) stu_num
from score_info
group by course_id;

结果

course_id stu_num
01 19
02 19
03 19
04 12
05 5

 查询男生、女生人数
hive>
select
  sex,
  count(stu_id) count
from student_info
group by sex;

结果

sex count
9
11

 分组结果的条件
查询平均成绩大于60分的学生的学号和平均成绩

思路分析

  1. 平均成绩:展开来说就是计算每个学生的平均成绩。
  2. 这里涉及到“每个”就是要分组了。
  3. 平均成绩大于60分,就是对分组结果指定条件。
  4. 首先要分组求出每个学生的平均成绩,筛选高于60分的,并反查出这批学生,统计出这些学生总的平均成绩。

HQL实操

hive> 
select
  stu_id,
  avg(score) score_avg
from score_info
group by stu_id
having score_avg > 60;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2134248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记 韩顺平 零基础30天学会Java(2024.9.13)

P545 TreeMap源码解读 TreeSet的k-v其中的v是一个静态的对象,但是TreeMap的v是可以变化的 TreeMap使用默认构造器取出的顺序和添加的顺序是不一样的,但是有构造器实现了Comparator接口的匿名内部类,可以按顺序排序 P546 Collections工具类1 P…

不入耳蓝牙耳机排行榜第一名是哪个品牌?解密最值得购买的五大品牌!

​到了2024年,开放式耳机无疑成为了耳机市场的宠儿。它们的优势在于,不仅佩戴舒适,还能在保护听力的同时,让你保持对周围环境的警觉,这对于爱好户外探险的朋友来说,无疑是一个巨大的安全加分项。作为一名资…

【初识Linux】Linux下基本指令

01. ls 指令 语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -…

AI与艺术的碰撞:当机器开始创作,创造力何在?

一、引言 艺术与创造力的定义及重要性 艺术,作为人类情感和思想的表达形式,涵盖了绘画、音乐、文学等多种领域。它不仅是文化传承的载体,更是人类想象力和创造力的结晶。创造力,则是推动艺术发展和社会进步的关键力量&#xff0…

高性能编程:无锁队列----MsgQueue代码实践

目录 概述 代码结构 1. 头文件解析 (msgqueue.h) 2. 实现文件解析 (msgqueue.c) 核心功能解析 2.1 创建队列 (msgqueue_create) 2.2 放入消息 (msgqueue_put) 2.3 获取消息 (msgqueue_get) 2.4 交换队列 (__msgqueue_swap) 2.5 阻塞与非阻塞模式 2.6 销毁队列 (msgq…

GPT Prompt

Reference https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-apihttps://platform.openai.com/docs/guides/prompt-engineeringbilibili 8分钟系统学习提示工程,别再说大模型还不够聪明!Prompt Engineering,提示词,Few…

深兰科技董事长陈海波应出席“香港大学国际科创大赛”

近日,以“人工智能与智能制造”为主题的“香港大学国际科创大赛——知识转化论坛(沪港场)”在上海市普陀区隆重举行,众多来自人工智能与智能制造领域的专家学者与企业高管齐聚一堂,共话人工智能、智能制造与新质生产力的深度融合、最新进展以…

第 11篇 Helm 部署 RabbitMQ

文章目录 RabbitMQ 简介Helm ChartChart 版本选择自定义 values.yaml部署效果 参考相关博文 🚀 本文内容:在 Helm 中部署 RabbitMQ。 RabbitMQ 简介 ⭐ RabbitMQ:开源、通用消息代理,为一致性、高可用消息场景设计,包…

想引领潮流,得保持动销方案创新!

在竞争激烈的市场中,动销方案创新至关重要。 创新动销方案能提升品牌知名度与美誉度,吸引消费者关注,提高曝光度;还可增加销售额与市场份额,激发购买兴趣;更能增强企业竞争力,在同质化竞争中脱…

TiDB 扩容过程中 PD 生成调度的原理及常见问题丨TiDB 扩缩容指南(一)

导读 作为一个分布式数据库,扩缩容是 TiDB 集群最常见的运维操作之一。本系列文章,我们将基于 v7.5.0 具体介绍扩缩容操作的具体原理、相关配置及常见问题的排查。 通常,我们根据当前资源状态来决定是否需要调整 TiKV 节点的规模&#xff0…

Nacos 2.x为什么新增了RPC的通信方式?

Nacos 2.X 在 1.X 的架构基础上,通信层通过 gRPC 和 Rsocket 实现了长连接 RPC 调用和推送能力。主要是为了改善 Nacos 在大规模集群环境下的性能和稳定性。 同时新增一个链接层,用来将不同类型 Request 请求,将来自不同客户端的不同类型请求…

JVM面试真题总结(九)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 描述CMS垃圾收集的工作过程 CMS(Concurrent Mark Swee…

代码随想录训练营 Day60打卡 图论part10 SPFA算法 Bellman-Ford 之判断负权回路 Bellman-Ford 之单源有限最短路

代码随想录训练营 Day60打卡 图论part10 一、Bellman_ford 队列优化算法(又名SPFA) 例题:卡码94. 城市间货物运输 I 题目描述 某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市,通过…

Monster Sound FX Pack 2 怪物恶魔野兽声效包

这是受最新电影和游戏启发而创作的一系列超凡怪兽音效中的第二卷。Monster Sound FX Pack 2 包含精心设计的声音,充满个性,为听众带来新的体验。这些声音经过专业设计,是严肃的声音设计师和游戏开发者的必备品! 发现声音非常适合龙、野兽、外星人、兽人、地精、巨人、巨魔、…

【Qt笔记】QScrollArea控件详解

目录 引言 一、QScrollArea 的基本概念 二、QScrollArea 的主要属性 2.1 设置内容大小是否随滚动区域变化 2.2 设置水平与垂直滚动条 2.3 设置视口外边距 三、QScrollArea 的常用方法 3.1 设置显示小部件 3.2 返回当前设置的小部件 3.3 设置内部小部件是否可以填充…

基于51单片机的16X16点阵显示屏proteus仿真

地址: https://pan.baidu.com/s/1JQ225NSKweqf1Zlad_f1Mw 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectro…

ZW3D二次开发_UI_非模板表单_设置表单显示位置

1.ZW3D弹出非模板表单时可以设置弹出位置(居中、左下角、右上角等) 2.假设已创建好非模板表单 3.在Form属性中添加form_pos属性 4.输入值 base,CTR,0.0 ,如下图 也可以设置为其他值显示在不同的位置,如下 5.重新编译,…

宏电5G工业互联网解决方案荣获第七届“绽放杯”5G应用征集大赛5G应用融合产品专题赛优秀奖。

近日,“宏电5G工业互联网解决方案赋能传统企业数字化转型升级”项目荣获第七届“绽放杯”5G应用征集大赛5G应用融合产品专题赛优秀奖。 “绽放杯”由中国信息通信研究院及三大运营商共同主办,是国内最具影响力的全国性5G应用赛事,本次“绽放…

大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

《深入理解 Java 中的多线程基础(篇一)》

多线程基础 概述 现代操作系统(Windows,macOS,Linux)都可以执行多任务。多任务就是同时运行多个任务。 例如:播放音乐的同时,浏览器可以进行文件下载,同时可以进行QQ消息的收发。 CPU执行代码…