重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
漫画SQL——mysql必修课(956×540视频)百度网盘
铁力网站建设公司创新互联,铁力网站设计制作,有大型网站制作公司丰富经验。已为铁力上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的铁力做网站的公司定做!
链接:
提取码: 3qea 复制这段内容后打开百度网盘手机App,操作更方便哦
若资源有问题欢迎追问~
子查询最大的成绩,然后在一次对比
SELECT 字段 FROM 表名 AS 表名,( SELECT 课程, max( 成绩) AS maxscore FROM 表名 GROUP BY 课程 ) AS 表名1 WHERE 表名.课程= 表明1.课程 AND 表名.成绩= 表名1.成绩;
要求查找到学校不同年级中每个年级的最高分人员信息,并列第一的学生信息都要查询出来
首先准备数据
分析:可以使用group by 对班级进行分组,再使用max函数找出每个年级的最高分数,所以可以这样写
执行上面的语句可以得到如下结果
可以看出这样已经查询出每个年级对应的最高分,那根据这2个条件,再去表里查询对应年级和分数的学生信息即可
这样执行出来的结果就可以找到每个年级最高分的学生信息,同时并列第一的学生也可以查询到,结果如下
注意:查询列中的字段如果不是group by的字段,那么需要对该字段使用聚合函数,所以这里使用max()找出最大值,而student字段是没法使用的,否则查询出来的就是多个,所以需要使用子查询
新建查询,然后写语句
use 数据库名
go
select 姓名,Max(分值) As 最高分 from 表名 group by 姓名;
这样就好了,不要想复杂了
如果查询的是某一个指定列号下所在行的所有值: select * from tableA where column=x; 如果是查看下某一列的所有值,一般这种查看没有什么实际意义的: select column from tableA; 希望可以帮到你
select count(if(评价="差",true, null)) as 差, count(if(评价="中等",true, null)) as 中等, count(id) as 全部, max(成绩) as 最高分, min(成绩) as 最低分, avg(成绩) as 平均分 from 成绩表 where 考试时间 = '期中考试' and 科目 = '英语';