对于我的表中的每一行,我都有一个与之相关的数字范围。例如,在第1行中,它在“range”列中的范围为1-5。
我想要做的是将这个“范围”映射到一个标准化的存储桶中。因此,标准桶的范围是0-3,3-7,等等。因此,基于1-5的范围,我希望SQL返回0-3作为标准化范围。
输入行:
Col1 Col2
John 6-12 预期结果:
Col1 Col2 Standardized Col3
John 6-12 7-15我不知道如何在SQL中对此进行编码--有人能帮我吗?
发布于 2016-09-26 01:49:19
您可以使用用例
select case range
when betweeen 0 and 3 then 1
when between 4 and 7 then 2
else 3
end
from my_table或
select Col1, Col2, case range
when '1-5' then '0-3'
when '6-12' then '7-15'
else '16-22'
end as Standardized
from my_tablehttps://stackoverflow.com/questions/39689884
复制相似问题