0
Postgresql:9.3 我有一个长购物车ID包含的“购物车ID”和“产品ID”的日志。 我正在寻找一种方法来创建具有最常见“产品ID”的组。 “产品ID”可以同时在多个组中。Posgresql:具有最常见项目的组:处理重叠项目
因此,我需要“购物车ID”,“产品ID”和组的名称(组1,组2,...)。
如果任何人有关于如何去做的提示。我知道一个SQL查询并不理想,但这是我现在所拥有的一切。
编辑:与下面的查询我知道xx购物车的组有xx产品的共同点。
WITH a AS (
SELECT Shopping_Cart.Product_Id AS Product_Id, count(Shopping_Cart.Product_Id) AS "count" FROM Shopping_Cart
GROUP BY Shopping_Cart.Product_Id
ORDER BY "count"
)
SELECT a."count" AS "Product in Common", count(DISTINCT Shopping_Cart.id) AS "Shopping Cart Count" FROM a
RIGHT JOIN Shopping_Cart ON Shopping_Cart.Product_Id = a.Product_Id
GROUP BY a."count"
这总比没有好,但如果我有7个购物者的项目1,2,3和7个购物者的项目4,5,6他们落入同一组共同3项的购物者。我需要将它们分开。
组的大小是多少? 2个产品?,n个产品? – Jayvee
请编辑您的问题是样本数据和期望的结果。它似乎描述得很差。 –