小编yzh*_*ang的帖子

SQL中的case语句,如何返回多个变量?

我想在我的case语句中返回多个值,例如:

SELECT
  CASE
    WHEN <condition 1> THEN <value1=a1, value2=b1>
    WHEN <condition 2> THEN <value1=a2, value2=b2>
    ELSE <value1=a3, value3=b3>
  END
FROM <table>
Run Code Online (Sandbox Code Playgroud)

当然我可以多次编写案例条件,每次都返回一个值.但是,因为我有许多条件需要适合,比如说100.一次又一次重复案件条件并不好.

我想问的另一个问题,如果一条记录符合多个条件,会发生什么?这是否意味着它将返回所有这些或只是最后一个?例如,条件1可能成为条件2的子集.会发生什么?

sql sql-server

23
推荐指数
3
解决办法
9万
查看次数

序列挖掘时间和产品预测

我面临一个关于序列挖掘的棘手问题,比如我有10个产品,我有数百万条记录,每条记录包含购买的用户,产品和时间戳.每个用户可能只有1条记录或100条记录..例如:

user 1, p1, t1
user 1, p1, t2
user 1, p2, t3
user 1, p3, t4
user 1, p1, t5
user 2, p2, t6.....
Run Code Online (Sandbox Code Playgroud)

现在我需要预测何时是为用户推广产品的最佳时机.

到目前为止,我的解决方案是将时间分为几类.然后在数据上应用Apriori,例如记录就像

user 1, p1T1
user 1, p2T2
user 1, p3T2
user 1, p2T1...
Run Code Online (Sandbox Code Playgroud)

然后我会得到像p1T1-> p2T2等规则,因为T3> T2> T1 ...任何规则都不适合这种情况将被丢弃.

但是,我对这个解决方案不是很满意.有什么建议?

algorithm artificial-intelligence machine-learning data-mining

6
推荐指数
1
解决办法
687
查看次数

如何使这个循环更有效?

我有一个如下所示的数据框:

user1,product1,0
user1,product2,2
user1,product3,1
user1,product4,2
user2,product3,0
user2,product2,2
user3,product4,0
user3,product5,3
Run Code Online (Sandbox Code Playgroud)

数据框有数百万行.我需要遍历每一行,如果最后一列中的值为0,则保留该产品编号,否则将产品编号附加到值为0的上一个产品编号,然后写入新数据框.

例如,结果矩阵应该是

user1,product1
user1,product1product2
user1,product1product3
user1,product1product4
user2,product3
user2,product3product2
user3,product4
user3,product4product5
Run Code Online (Sandbox Code Playgroud)

我写了一个for循环来遍历每一行,它可以工作,但速度非常慢.我怎样才能加快速度?我试图对它进行矢量化,但我不确定如何,因为我需要检查前一行的值.

r

4
推荐指数
1
解决办法
296
查看次数