我想为每个标签提取不同产品类别的前 3 名畅销产品。数据如下所示:
tag | product_name | product_category | order_count
tag1 | product1 | category1 | 100
tag1 | product2 | category2 | 80
tag1 | product3 | category2 | 60
tag1 | product4 | category3 | 50
......
我知道如何使用 ROW_NUMBER() 提取每个标签的前 3 个畅销产品,但它会返回 product1、product2、product3。我不想要 product3,因为它与 product2 属于同一类别。我想要 product4 代替。如何在 SQL Server 中执行此操作?