;with tb1 as (
select 产品系列,ratio = 1.0 / count(*)
from table
group by 产品系列
)
update t1
set 分配比率 = t2.ratio
from table t1 inner join tb1 t2
on t1.产品系列 = t2.产品系列
※ 引述《azzc1031 (azzc1031)》之铭言:
: 数据库名称:MSSQL
: 数据库版本:64bit企业版
: 内容/问题描述:
: https://i.imgur.com/i4eLVFN.jpg
: 我手上有一张表约数万行
: 我想要用UPDATE的方式
: 替每个产品标上“分配比率”
: (GROUP BY产品系列)
: 例如手机系列有三个产品
: 每个手机产品的分配率就会是1/3=0.3333
: (笔电产品是0.5;萤幕产品则是0.25)
: 想请教有什么好方法?谢谢!