我目前有511行,有一个名为"value“的字段,其中scale介于250k和70+百万之间,这是该行价格的项目。我想更改比例,使其仅在5到16之间(每次跳跃0.5,因此5到5.5到6到6.5等等)。
我最初的想法是通过百分位数进行分发。因此,前1-4.5%将在16的新字段中获得新值,前4.5-9%将获得15.5,以此类推,直到我们达到5。
我一直在尝试使用SQL,也在搜索帮助,但没有得到任何结果。也许你们中有谁有更好的想法,或者可以把我的想法变成现实?如果需要的话,我愿意用更改过的值编写相同的SQL查询50次。只要它能解决问题!谢谢
发布于 2017-03-16 03:53:27
如果您可以首先计算每个范围的边界,则可以执行以下操作:
UPDATE yourTable
SET value =
CASE WHEN value > 95.5%value THEN 16
WHEN value > 91%value THEN 15.5
WHEN value > 86.5%value THEN 15
...
WHEN VALUE > 4.5%value THEN 5.5
ELSE 5
END将所有xxx%value替换为您先前计算的边界。
https://stackoverflow.com/questions/42818826
复制相似问题