永发信息网

求一条SQL语句, 查出表里的数据同时判断 如果不符合要求直接改成符合要求的,在数据库sql窗口能执行的

答案:2  悬赏:70  手机版
解决时间 2021-01-25 04:24
已经查询出来结果:比如学生分数分别是,80 90 50 30 ,我想让结果变 80 90 60 50这样的, 又或者把表里的数据也改成那样的, 能不能用sql语句直接实现?
最佳答案
比如有表 A
学生名字 成绩
张 90
王 80
李 30
赵 50

你可以用update来改表里的数据,比如将所有成绩小于60的记录的成绩修改为60:
update A
set [成绩]=60
WHEN [成绩] <60
返回:
学生名字 成绩
张 90
王 80
李 60
赵 60
如果你只是想查询的时候按成绩高低排序:
select * from A order by [成绩] desc
排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果没有指定升序还是降序,就假定为 ASC
返回:
学生名字 成绩
张 90
王 80
赵 50
李 30
如果不改变表里的数据,只是想查询的返回结果中改为你想要的显示:
select [学生名字],sum(
case when [成绩] >30 and [成绩] <60 then 60
when [成绩] <=30 then 50
else [成绩] end
)
from A
group by [成绩]
order by [成绩] desc
返回:
学生名字 成绩
张 90
王 80
赵 60
李 50
全部回答
没有语句能够在查询的同时修改数据库的记录 可以通过case 的方式将显示结果改为你想要的 但是数据库中的记录不会改变 如果你想在查询的时候修改 建议你先修改 再查询 存储过程最好不要定义查询结果作为返回值 系统资源占用很多
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下列事项中,不影响上市公司报告年度基本每股
花胶煲鸡能和板栗一起吗
oppooppo r11和iphoneiphone 6s用哪个?
乙酰苯胺的合成实验中,反应时分馏柱上端的温
母比熊名字好听洋气
就是我的手机OPPOR9昨天晚上下电影今天早上屏
太极熊猫3猎龙阵营选择哪个好 阵营选择技巧分
有人每天发早安,晚安给我,平时又不怎么聊天
0.7和0.03的最小公倍数是多少
新东方朗文新派少儿英语2基础级 是买学生包还
军训后感想…要精彩…幽默的
移动怎么发电信短信,怎么收费
将驹龙国际马术(通州校区)地址在什么地方,我
文学常识判断正误(每一题只有一个是对的)并
qqsvip4升一个星星要几天?
推荐资讯
房间百叶窗用什么颜色
步步高学校地址好找么,我有些事要过去
拼多多的评价在哪里看
橡胶手套有异味要怎么去除
开个浴室要多少钱?
针对该患者的治疗,最有可能的是A.胸腔穿刺抽
高视眼镜地址在什么地方,想过去办事
大家好我想问一下不需要工作能带小额贷款的有
南山幼儿园(湘西永顺)怎么去啊,我要去那办事
难度对信度的影响,存在于()之中。A.人格测验
机动车与非机动车发生交通事故,非机动车车主
TP-link无线路由做主与一个TP-link与一个小米
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?