sql 刷题
1、对同一产品用户评分的内积(cos)
我们把用户对商品的评分用稀疏向量表示,保存在数据库表t里面: t的字段有:uid,goods_id,star uid是用户id;goodsid是商品id;star是用户对该商品的评分,值为1-5。 现在我们想要计算向量两两之间的内积,内积在这里的语义为:对于两个不同的用户,如果他们都对同样的一批商品打了分,那么对于这里面的每个人的分数乘起来,并对这些乘积求和。 例子,数据库表里有以下的数据:
U0 g0 2
U0 g1 4
U1 g0 3
U1 g1 1
计算后的结果为: U0 U1 23+41=10
DROP TABLE goods_table;
CREATE TABLE goods_table (U VARCHAR(20),G VARCHAR(20),S INT);
INSERT INTO goods_table VALUES ('u0','g0',3);
INSERT INTO goods_table VALUES ('u0','g1',2