我具有以下类型的数据库:
My_Variable
20
2
3
13
4
5
31
我在python中知道我是否想对它进行bin操作,
My_Table['Bin'] = pd.cut(My_Table['My_Variable'],[0, 5, 10, 20, 1000])
我得到的结果是:
My_Variable Bin
20 (10, 20]
2 (0, 5]
3 (0, 5]
13 (10, 20]
4 (0, 5]
5 (0, 5]
31 (20, 1000]
在SQL中是否有类似的功能可以做到这一点?或者我已经用类似的方法手动完成了:
case
when 'My_Variable'<5 then '(0, 5]'
when ....
end as 'Bin'
谢谢您的帮助
答案 0 :(得分:1)
您可以使用case
表达式分配垃圾箱:
select t.*,
(case when my_variable <= 5 then '(0-5]'
when my_variable <= 10 then '(5-10]'
when my_variable <= 20 then '(10-20]'
when my_variable <= 1000 then '(20-1000]'
end) as bin
from t;
某些数据库可能具有更专门的功能,但这将是一种与数据库无关的机制。