2013-11-17 1 views
1

У меня есть таблица MySQL, который выглядит следующим образом:Создание матрицы смежности из базы данных MySQL в MYSQL, PHP или R

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 

И я хотел бы группу по идентификатору и сделать матрицу смежности например:

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) 

Я открыт для предложений либо в запросах MYSQL, либо с использованием R или PHP.

+2

Пожалуйста, покажите, что вы пробовали до сих пор, так как вопросы, требующие кода, должны демонстрировать минимальное понимание проблемы, которую нужно решить. Включите попытки решения, почему они не работают, и ожидаемые результаты – vascowhite

ответ

3

Группа автообъединение:

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 

Посмотри на sqlfiddle.