首页 > 数据库 >sql--每天两道sql题,天天健康好身体_第二天

sql--每天两道sql题,天天健康好身体_第二天

时间:2023-05-16 21:44:36浏览次数:38  
标签:group -- sql 查询 60 分组 sid 两道

每天会在网上找两三道sql题练习练习,提高自己的sql语句的使用能力(先自己思考出答案,再和别人的答案做一下对比,然后深入思考一下)

以下是四个表信息:

 

问题1:查询所有课程都小于60分的学生的学号和姓名

答案1: select sid, count(cid) as num, sum(score) as zongchengji from grade_table group by sid hiving num*zongchengji < num*60;

思考:因为要查的是,所有课程都小于60分的学生,假如这个学生选了N门可,每门可都小于60分,则总分数肯定要小于60*N,   所有查询思路是对学生进行分组,分组后计算每个学生的选课数、总成绩,用总成绩和 选课数*60 进行比较。

别人的答案:select sid ,sname from student_ifo_table where sid not in (select s.sid from student_info_table s, grade_table g where s.sid=g.sid and g.score>60)  , 一开始没明白这个答案的意思,现在明白了,先子查询是查询出来成绩大于60分的学生的id(如果A学生的英语是小于60分,数学大于60分,那也会查出来此学生的学号),不过这个子查询的结果中肯定sid是有重复值的。 然后外层的查询是 查询学生id not in 子查询的结果。即如果B同学的所有成绩都小于60的话,那子查询的结果中肯定是没有B这个同学的。这也就是为什么用的是not in + 大于60分的条件判断, 而不是 in + 小于60分的条件判断。

 

问题2:查询平均成绩大于60分的同学的学号和平均成绩

答案2:select sid, avg(score) as pingjun from grade_table group by sid hiving pingjun > 60;

思考:对学生进行分组,分组的学生求成绩的平均值,然后对平均值大于60的进行过滤。 这里用到分组group by、过滤hiving、平均值函数avg()

 

 

group by 介绍: 

使用group by 分组查询时,select 子句中的列名必须是“分组列” 或“列函数

其次,group by  可以 和 where 、 hiving  结合进行过滤查询, 但使用where  还是 hiving  是有规则的

 

 

 

标签:group,--,sql,查询,60,分组,sid,两道
From: https://www.cnblogs.com/ccnn9/p/17404566.html

相关文章

  • rust 中 str 与 String; &str &String
    StringString类型的数据和基本类型不同,基本类型的长度是固定的,所以可以在栈上分配,而String类型是变长的,所以需要在堆上分配,所以String类型实际上是一个指向堆的指针。他的结构和Vec很类似。从他的声明看也是一个u8的VecpubstructString{vec:Vec<u8>,}看这样一个定......
  • Django-rest-framework框架
    web应用模式、API接口、接口测试工具postman、如何在浏览器中测试、restful规范、序列化反序列化、基于Django原生编写五个接口、drf介绍和快速使用、drf之APIView源码分析......
  • 感谢信!
    阅读本文大概需要1.8分钟。今天是一篇感谢信,专门感谢上次跨年直播无偿赞助礼物的朋友们。其实合作之前,跟他们说了,只口播感谢,不会带货,朋友们依然二话不说踊跃赞助,而我这个人的性格是,作为朋友,你帮我一分,我会还你三分,所以,今天这篇感谢信虽然提前没承诺,但是是我本人作为回馈朋友们的......
  • apache整合tomcat
    为什么要用apache来整合tomcat呢?首先,是因为apache是静态服务器,tomcat是动态服务器,二者相辅相成,才能完美构建一个web服务器;其次,用apache作为中心服务器器,将请求分发到多个tomcat,解决负载均衡,实现服务器的稳定性。那么,也有人会说,ngnix整合tomcat不就可以了,而且也很流行。我想说,实现......
  • 创建AWS EC2实例
    创建AWSEC2实例前提条件创建EC2步骤前提条件需要自行到AWS官网先注册AWS账号。本文不叙述注册账号过程!创建EC2步骤根据自己的需求选择系统镜像AMI,如果仅需免费套餐可以勾选仅免费套餐,如下图所示。如果不仅限于免费套餐,点击社区AMI,你可以看到琳琅满目的系统镜像,可根据自己需求选择......
  • 计算机网络学习笔记之数据链路层的介质访问控制
    计算机网络学习笔记之数据链路层的介质访问控制介质访问控制信道划分介质访问控制随机访问介质访问控制ALOHA协议(不听就说)纯ALOHA协议时隙ALOHA协议比较CSMA协议(先听再说)坚持CSMA非坚持CSMAp-坚持CSMA比较CSMA/CD协议(先听再说,边听边说)......
  • 从问题中了解网络层
    从问题中了解网络层问题(Problem)参考文献问题(Problem)1.存在多种异构网络对不同网络之间的通信会造成一些麻烦,但为什么世界上还存在多种异构网络?解答:世界上之所以存在着多种异构网络,就是因为仅用一种体系结构的网络根本无法满足所有用户的所有需求。OSl假定全世界所有的人都在......
  • 旅游经济学2
     第五章    旅游市场与竞争 教学目的和要求:在市场经济条件下,旅游市场作为旅游产品交换的场所,不仅是旅游经济运行的轴心,也是实现旅游供求平衡的重要机制。通过本章的教学,促使学生掌握旅游市场的概念、特点和分类,了解旅游市场的功能及运行机制,掌握旅游市场的竞争......
  • 优秀课件笔记之什么是数据结构
    1、本文所以内容来自著名高校课件和学生笔记(校园里面经常见到有人高价买笔记)2、任课教师不会提供参考文献,所以只能对作者表示感谢,如果引用了您的作品,可以用回复方式补充参考文献。3、我不对文章无关问题进行解答,文章内容也比较难,我也很难解答您遇到的问题,如果发现BUG可以用回复方......
  • 程序员岗位介绍,我爬取了拉勾网所有技术岗位工资数据,算法工程师平均薪资高达2W
    点击观看视频↓↓↓程序员岗位介绍,我爬取了拉勾网所有技术岗位工资数据,算法工程师平均薪资高达2W文字版大家好,我是宁一,一个多月没有更新视频了,这一个多月我都在准备一个店铺商城的云开发小程序项目,项目刚刚开发完,还需要一段时间来写成课程,怕大家把我忘了,先来更新一篇文章~最近有......