【发布时间】:2019-11-11 15:04:19
【问题描述】:
我有一张包含客户和产品信息的表格。
customer_id promotion_id product_id Rank
1 555 222 1
1 555 223 1
1 555 999 1
1 556 154 2
1 556 222 2
1 556 278 2
1 557 432 3
1 557 434 3
1 557 435 3
一些促销在产品信息中重叠。例如promotion_id 555 和556 可用于产品222。我想删除promotion_id 556 并重新排名,以便promotion 557 排名第二,如下所示:
customer_id promotion_id product_id Rank
1 555 222 1
1 555 223 1
1 555 999 1
1 557 432 2
1 557 434 2
1 557 435 2
我一直在使用 SQL 中的 row_number()/rank() 函数,但我似乎无法得到它。
【问题讨论】:
-
promotion_id 556 的 product_id 278 部分呢?
标签: sql hive apache-spark-sql pyspark-sql window-functions