mysql如何大矩阵,在MYSQL,PHP或R中从mysql数据库制作共现矩阵

I have a mysql table that looks like this:

id uid

1 a

1 b

1 c

1 d

2 a

2 b

2 c

2 e

3 b

3 c

3 e

3 f

And I would like to group by id and make a co-occurrence matrix like this:

a,b,2 -because a and b appear together in 2 id-groups (in 1 and 2)

a,c,2 -because a and c appear together in 2 id-groups (in 1 and 2)

b,c,3 -because b and c appear together in 3 id groups (in 1, 2 and 3)

I am open to suggestions either in MYSQL queries, or using R or PHP.

解决方案

Group a self-join:

SELECT a.uid a, b.uid b, COUNT(*) cnt

FROM my_table a JOIN my_table b ON b.id = a.id AND b.uid > a.uid

GROUP BY a.uid, b.uid

See it on sqlfiddle.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值