我有一张表,其中包含ID和Access中个人的收入。我现在想在这个表中添加一个列,其中包含个人所属的收入五分之一(5%),即1,2,3 ......,具体取决于个人的收入。 我已经从不同的数据集计算了五分位数的上限,并将它们存储在另一个表中。 最初我计划在表视图中的“计算字段”中使用WHEN函数执行此操作。但是因为我想使用5%的五分位数,我需要20个WHEN条件,Access无法处理(“你输入的功能太复杂了。”)。
有没有办法用查询做到这一点?
答案 0 :(得分:0)
使用join
执行此操作。假设另一个表有这些列:
然后做:
select t.*,
(select quantile
from othertable as ot
where t.value >= ot.lowerbound and t.value < ot.upperbound
) as quantile
from mytable as t;
确切的逻辑取决于数据的性质(例如,包含或排除的边界)。你的问题没有提供具体细节,所以这是指导。
如果第一个表中有quantile
列,您还可以使用类似的查询来更新该值。