问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sql中关于统一列中数值相除的问题

发布网友 发布时间:2023-03-18 04:21

我来回答

5个回答

热心网友 时间:2023-05-13 16:16

select A.id, A.aa, A.bb, A.cc, A.dd, A.mingxi,
case when A.rown=1 then A.bb/2 else A.bb/B.bb end from
--A.bb/B.bb当前列bb除以上一列BB是这个意思么
    (select *, row_number() over(order by id) as num,
     row_number() over(partition by id order by id) as rown
     --按id计数,并且id改变重新计数每个id的第一个都除以自身,是这个意思么?
     from table1) as A left join
    (select *, row_number() over(order by id) as num,
     row_number() over(partition by id order by id) as rown
     from table1) as B
on A.num = B.num + 1

热心网友 时间:2023-05-13 16:16

sql2000的update和select都可以使用变量赋值,使用这点可以比较有效率地实现很多循环计算问题,比如LZ这题

create table table1(id int,bb float,mingxi int,ee float)
insert into table1(id,bb,mingxi)
select 1,10,1
union all select 1,100,2
union all select 1,80,3
union all select 2,20,1
union all select 2,40,2
union all select 2,20,3
union all select 3,10,1
union all select 3,20,2
declare @id int,@ee float,@bb float
update table1 set @ee=case when isnull(@id,-1)=ID then bb/@bb else bb/2 end,ee=@ee,@bb=bb,@id=id

如果数据顺序是默认按 id 和 mingxi从小到大排列的话,一句update即可实现此功能

如果原始数据不是按id和mingxi从小到大排列,不能直接update,也可以通过先将数据插入临时表后再更新,如

select * into #table1 from table1 order by id,mingxi
declare @id int,@ee float,@bb float
update #table1 set @ee=case when isnull(@id,-1)=ID then bb/@bb else bb/2 end,ee=@ee,@bb=bb,@id=id

最后再把#table1的ee根据id和mingxi写回table1

热心网友 时间:2023-05-13 16:17

select *,bb*1.0/ case when (select top 1 bb from table1where id=a.id and mingxi<a.mingxi order by mingxi desc) IS null then 2

else (select top 1 bb from table1where id=a.id and mingxi<a.mingxi order by mingxi desc) end
from table1 a

热心网友 时间:2023-05-13 16:17

select a.*,decode(b.bb,'',a.bb/2,a.bb/b.bb) as ee from

(select a.*, a.row_number() as rn from table a order by id,mingxi) a left join
(select a.*, a.row_number() as rn from table a order by id,mingxi) b on (a.id=b.id and a.rn=b.rn+1)

自连接,用行号错开一个连接自己。如果b.bb为空的那就表示第一行,就除以2

热心网友 时间:2023-05-13 16:18

先查询出ID,然后用游标嵌套循环追问能不能写出具体的查询语句

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宁波社保卡办理需要什么材料 宁波社保卡如何申领 有什么高性价比的隔离霜可以推荐? 防晒效果好的隔离霜有哪些值得入手? 下雨天经常爬在房子墙上的那种软体动物,不是蜗牛没壳的,可以在墙上把身... 原来是美男啊里面插曲、主题曲都有哪些? 请问下各位大虾,我在外地用外地农行卡网上转账到本地邮政卡星期六转账的... 为什么用支付宝买东西明明我余额足够,付款时却说我余额不足?2个... 萍乡烛式过滤器品牌 衡水烛式过滤器品牌推荐 sql语句,如何对同一列数据中不同的值,计数? 梦见一包香烟的预兆 梦见朋友偷东西的预兆 不含抗氧化的饮料有哪些 子母纯牛奶有假的吗? 买保险是应该先买养老还是意外还是医疗 50多岁失业的确人生中最大的不幸,不再交职工医疗保险合适吗? 人生保险费两个月了再交有1影响吗 微信出现风险该如何处理? 抖音沙茶面是什么 房地产求职附加信息怎么填 小冰的数羊在哪里数 关于诗经小雅·彤弓之什 我妈妈患的是银屑病(医生说的)给她开的药是盐酸多塞平片和醋酸泼的松请问这两种药能经常服用吗?有好... 赠人玫瑰手留余香什么意思 赠人玫瑰手有余香是什么意思? 电脑主机的电源显示灯和驱动器显示灯闪烁,且伴有滴滴响声,电脑驱动器也打不开,这是怎么回事?怎么处理 心理健康月活动总结 是硕博连读好还是直博好? 直博和硕博连读哪个好 美白有什么成分 苹果手机如何打开地震预警功能 子夏易传全本by卜子夏小说的百度免费阅读网盘资源 梦见别人给我钱我没要的预兆 梦见别人给我钱我不要的预兆 梦见朋友给我钱没要的预兆 梦见别人给我钱但我没要的预兆 怎么处理硬水和水垢? 社保如何跨省转移合并 WPS怎么把段前一个词作为自动目录标题,且不改变原来的排版,也不能把整段设置大纲? dnf如何跨区转角色 dnf如何转区 DNF中如果用同一个帐号在不同的两个区都创建了角色,可不可以将另一个区的角色转到同一个区 拉肚子,腹部绞痛三天了还不好怎么办 永康俞流青现状 RAV4尺寸长宽高是多少? 荣放后备箱可以放1100cm宽的东西吗 2020年电视新剧上映表是怎样的? 5位“女国医大师”:养生,她们各有妙招 国医大师张学文的养生法