如果查询的是某一个指定列号下所在行的所有值: select * from tableA where column=x; 如果是查看下某一列的所有值,一般这种查看没有什么实际意义的: select column from tableA; 希望可以帮到你
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的古县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
获取每一个科目最高分的学生
select sid,cid,max(score) from score group by cid;
然后分别和学生表、课程表联合查询取出科目名字和学生名字就ok了
写成单条sql:
select * from (select s.sid,s.realname,a.cid,a.mscore from student as s right join (select sid,cid,max(score) as mscore from score group by cid)as a on a.sid = s.sid) as a1 left join ((select c.coursename,c.cid from course as c right join (select sid,cid as mscore from score group by cid)as a on a.cid = c.cid) ) as b1 on a1.cid = b1.cid;
要求查找到学校不同年级中每个年级的最高分人员信息,并列第一的学生信息都要查询出来
首先准备数据
分析:可以使用group by 对班级进行分组,再使用max函数找出每个年级的最高分数,所以可以这样写
执行上面的语句可以得到如下结果
可以看出这样已经查询出每个年级对应的最高分,那根据这2个条件,再去表里查询对应年级和分数的学生信息即可
这样执行出来的结果就可以找到每个年级最高分的学生信息,同时并列第一的学生也可以查询到,结果如下
注意:查询列中的字段如果不是group by的字段,那么需要对该字段使用聚合函数,所以这里使用max()找出最大值,而student字段是没法使用的,否则查询出来的就是多个,所以需要使用子查询
新建查询,然后写语句
use 数据库名
go
select 姓名,Max(分值) As 最高分 from 表名 group by 姓名;
这样就好了,不要想复杂了
题主你好:
*.你的截图没说表名是啥,截图中的表名是我自定义的叫"chengjibiao", 题主根据自己的实际情况改一下即可.
-----
希望可以帮到题主,欢迎追问.
select count(if(评价="差",true, null)) as 差, count(if(评价="中等",true, null)) as 中等, count(id) as 全部, max(成绩) as 最高分, min(成绩) as 最低分, avg(成绩) as 平均分 from 成绩表 where 考试时间 = '期中考试' and 科目 = '英语';