在SQL中有像pandas.cut这样的函数吗?

时间:2019-07-24 20:02:10

标签: python sql database pandas bin

我具有以下类型的数据库:

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'

谢谢您的帮助

1 个答案:

答案 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;

某些数据库可能具有更专门的功能,但这将是一种与数据库无关的机制。