数据库提oracle 一张成绩表(里面有三个字段 姓名,学科,成绩) 求显示所有学科均及格的同学名字。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库提oracle 一张成绩表(里面有三个字段 姓名,学科,成绩) 求显示所有学科均及格的同学名字。相关的知识,希望对你有一定的参考价值。
大神都进来帮帮忙。希望有测试过。写的详细些 非常感谢
我的表名为s 字段三个(name xueke score)求所有学科都要过关的同学名字,目前所有答案我试过均不行。希望大家加油
from 成绩表
group by 姓名
having count(case when 成绩<60 then 1 end)=0
或者
select 姓名
from 成绩表
where 姓名 not in (select 姓名 from 成绩表 where 成绩<60) 参考技术B select 姓名 from 表 group by 姓名 having avg(成绩) >=60追问
不对吧 avg〉=60 如果我一个成绩90分一个成绩59 加起来平均也过60 但是却有一个不及格
追答select 姓名 from 表 group by 姓名having min(成绩) >=60
------------------------------------------------------
看看这个呢?
select 姓名 from 表 group by 姓名having sum(case when 成绩<60 then 1 else 0 end)=0
不同学科怎么体现?比如语数英,三科都要过60 你这样写可以吗 , 还有not in 不是排除里面及格的人吗?你这样写应该是不及格的人显示出来吧
Mysql如何更新字段值
使用updata可以更新,但是现在有个问题。
之前的字段例如是“123”,现在变成“1234”,使用updata是将之前的123删除,把1234覆盖进去,如何做到这个“4”是增加进去的,这样的话如果之前的字段有10M,每次改一下,就会快多了。
比如说数据库中有一张student表,要想把id为1的学生成绩(score)加1则
update student set score=score+1 where id = 1
如果你不加where系统就不会知道你具体要更新哪条记录,而导致所有该表中score都增加1,当然,除非这就是你的本意。
请采纳答案,支持我一下。追问
需要添加的数据是用户自己输入的,不是我可以定义的,我是想用一个表来保存用户实时输入的数据
参考技术A Mysql如何更新字段值格式:update 表名称 set 字段名称 = 字段名称 + 1 [ where语句]
比如说数据库中有一张student表,要想把id为1的学生成绩(score)加1则
update student set score=score+1 where id = 1
如果你不加where系统就不会知道你具体要更新哪条记录,而导致所有该表中score都增加1,当然,除非这就是你的本意。 参考技术B 使用update语句就可以呀,你说的是替换字符串吗
update 表名 set 字段名=replace(字段名,'123','1234') [ where语句]
将123替换为1234,追问
我的意思不是1234,这样简单的,能否让数据库知道前面是123,后面只用加一个4.
我的123,可能是代表很多很多内容,不管是用updata,还是replace都是操作量比较大的。
那我就 呵呵了,mysql中没有你想的这样功能。你想的难道操作量就不大了?
追问现在就是想找一个比较好的方法,目前我这里是10个人左右使用,如果人一多的话,就是很卡。实在不行的话,我只有存到客户端本地,然后定期上传服务器了。
以上是关于数据库提oracle 一张成绩表(里面有三个字段 姓名,学科,成绩) 求显示所有学科均及格的同学名字。的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE中 2张类似表进行数据对比,并把值放到另一张表里面进行显示
oracle中,如何在一张表插入数据,使得插入数据的某些字段为其他表中的数据
数据库有张表,里面有字段:姓名、语文、数学、英语,怎么显示每个学生的平均成绩