关于update字段分位数代替极值写法

请问下我想实现表里perform字段 小于5%分位数的值 替代成5%分位数,这样写有什么bug吗? 

update ljdata set perform=percentile(perform,5) where perform<percentile(perform,5)

我现在样本数据percentile(perform,5)=-15.77  但执行完这句话后,所有原来小于-15.77部分的值 全替换成了-61.38,这是为什么?


请先 登录 后评论

1 个回答

wale

先把

update ljdata set perform=percentile(perform,5) where perform<percentile(perform,5)

改成下面试试

p5=exec percentile(perform,5) from ljdata
update ljdata set perform=p5 where perform <p5


至于为什么直接一句不行,我分析确认一下。


请先 登录 后评论
  • 1 关注
  • 0 收藏,878 浏览
  • Coco 提出于 2022-01-21 10:57

相似问题