如何在 SQL 中迭代所有名称和排名排列

问题描述 投票:0回答:0

我有一张表,其中包含客户 ID、他们购买的产品、购买的时间戳和采购订单的等级。我想知道在 SQL 中是否有一种方法可以获取不同产品组合订购的总体百分比。产品可以多次购买。以下是一些示例问题:

在产品 A 之后购买产品 B 的时间百分比是多少? 在产品 A 之后购买产品 C 的时间百分比是多少? 在产品 B 之后购买产品 C 的时间百分比是多少?

我知道我可以使用

PRODUCT
RANK
列为不同的排列编写一堆 case 语句,但很好奇 SQL 中是否有更多的迭代类型方式。另外,我知道使用像 Python 这样的脚本语言会更容易,但我对 SQL 很好奇。

CUST_ID PRODUCT     DATE        RANK
1000000 Product A   2019-07-30  1
1000000 Product B   2019-11-27  2
1000000 Product B   2020-08-15  3
1000000 Product C   2020-11-07  4
1000001 Product A   2019-05-21  1
1000001 Product B   2019-08-26  2
1000001 Product C   2020-06-26  3
1000002 Product A   2020-06-28  1
1000002 Product A   2020-10-30  2
1000002 Product B   2020-11-23  3
1000003 Product C   2021-07-03  1
1000004 Product C   2021-07-04  2
sql mysql postgresql rank
© www.soinside.com 2019 - 2024. All rights reserved.