我们有一个sqlserver查询,在这个查询中,我们需要为越来越多的变量生成ntile,这样这些变量就可以按照不同的排列组合在一起。以下是我的意思:
声明1:
ntile(10) over (partition by MAUorALL, User_Type, fsi.Month_ID
order by Objects_Created) AS Ntile_Mon_Objects_Created,
声明2:
^{pr2}$声明3:
ntile(10) over (partition by MAUorALL, User_Type, fsi.Month_ID, *User*_Type
order by Objects_Created) AS Ntile_UT_Objects_Created
您可以看到,除了在第二和第三个语句中创建了斜体列“country”和“user type”之外,这些语句都是相同的。因此,我们对同一个变量“Objects_Created”在不同的特异性级别上取n,我们还必须对这些变量的各种可能的排列取n,例如:
声明4:
ntile(10) over (partition by MAUorALL, User_Type, fsi.Month_ID, *Country, User_Type*
order by Objects_Created) AS Ntile_Country_UT_Objects_Created
我们可以手动对这些排列进行编码,但是如果我们可以使用sqlalchemy来执行这些变量的所有排列,那么事情可能会变得更简单。有没有人能给我举个例子?在
谢谢你的帮助!在
我不知道
fsi
是如何与其他列相关的,但是假设所有数据都在一个模型中(很容易用sqlalchemy
查询进行扩展),如下所示:通过简单地使用^{} (或
^{pr2}$itertools.combinations
,这取决于您想要实现的目标)来创建查询即可完成该任务。下面的代码将为一个User
表生成一个查询,并为其生成各种ntiles
。我假设阅读代码就足以理解所发生的事情:相关问题 更多 >
编程相关推荐