我有一个含有userid,productid和reviewScore的sql表,它拥有超过1000万条记录。我们可以想象,userid和productid组合是独一无二的。我需要找到100 * 100的用户标识和产品ID与他们的评论分数矩阵。100个用户组和100个产品的sql查询
样本输入表 - 这里的第一个问题是需要确定共有100个用户标识和产品组合中的1000万行,其中包含评论并将其转换为基于矩阵形式。
productId将形成动态主元素。
输入 表1
UserID ProductId ReviewScore
User1 Product1 1
User1 Product2 2
User1 Product3 1
User1 Product4 3
User1 Product5 5
User2 Product1 3
User2 Product2 4
User2 Product3 5
User2 Product4 2
User2 Product5 5
User3 Product1 1
User3 Product2 3
User3 Product3 5
User3 Product4 3
User3 Product5 4
User4 Product1 3
User4 Product2 3
User4 Product3 3
User4 Product4 4
User4 Product5 4
User5 Product1 2
User5 Product2 2
User5 Product3 2
User5 Product4 3
User5 Product5 3
输出我需要。
UserId Product1 Product2 Product3 Product4 Product5
User1 1 2 1 3 5
User2 3 4 5 2 5
User3 1 3 5 3 4
User4 3 3 3 4 4
User5 2 2 2 3 2
这里的输出应该是100 * 100 usesrid *产品ID,评分为值。这个想法是有最小稀疏或0值。
我必须在sql server中编写相同的查询。 任何帮助表示赞赏。
这100个用户应在结果呢?你如何从10毫米的行中选择它们? – 2015-04-05 18:25:00
我们可以选择100个普通用户标识,它们给出了普通100个产品的评分。 – James 2015-04-05 18:28:25
@ giorgi 100个用户评分为至少100种常用产品。如果计数超过我们可以获得前100名。 – James 2015-04-05 18:30:02