【发布时间】:2021-12-13 02:35:54
【问题描述】:
我正在使用 SQL Server,我正在尝试找出一起购买最多的前 2 种产品
这是一个产品表
我希望它显示如下:
我试过了
SELECT TOP 2 Product_Id, bought_with_Product_Id, times_bought_together
FROM PRODUCT
GROUP BY Product_Id, bought_with_Product_Id, times_bought_together
也试过了
SELECT TOP 2 *
FROM Product
WHERE times_bought_together = (SELECT MAX(times_bought_together) FROM product)
AND Product_Id <> bought_with_Product_Id
它返回
如何使 product_id 和 buy_with_product_Id 行不重叠
【问题讨论】:
-
我很困惑,所以表中已经包含了与该产品一起购买的另一种产品,以及一起购买的时间?我想我对您开始查询的表感到困惑。看起来很奇怪。
-
我在stackoverflow.com/questions/18578216/…之后创建了一个视图
-
那么在上面的表格示例中,我们是否假设前两行基本上是重复的?也就是说,产品 1 和 2 总共有 3 个销售额?或者更确切地说,他们应该总共有 6 个销售额吗?
-
是的,产品 1 和 2 总共有 3 个销售额。总共不是 6 次销售
-
根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或输入到问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。
标签: sql sql-server tsql duplicates