выбрать повторяющиеся последовательности в рамках 1й группы
От: Аноним  
Дата: 17.08.09 11:02
Оценка: 6 (1)
Например есть таблица следюущего вида :

ИД1   ИД2   ДАННЫЕ

1     1       1
1     1       2
1     1       4
1     2       2
1     2       1
1     2       2
1     2       3
3     1       1
3     1       5
3     1       2
3     1       4
3     1       1


Ключом является пара колонок ИД1 и ИД2, нужно найти пересечения множеств значений в рамках одного уникального значения ключа

То есть из таблицы получается три множества

a) 1,2,4 ( ИД1 = 1, ИД2 = 1 )
б) 2,1,2,3 ( ИД1 = 1, ИД2 = 2 )
в) 1,5,2,4,1 ( ИД1 = 3, ИД2 = 1 )

Нужно их сравнить и вычислить пересечение, получим 3 множества, из них 2 одинаковы

1) а П б — 2,1
2) а П в — 1,2,4
3) б П в — 2,1

И далее необходимо сгрупирровать и посчитать одинаковые множества , т.е. в нашем случае результирующей таблицей будет

ИД    ЭЛЕМЕНТ    КОЛВО

1       2         2
1       1         2
2       1         1
2       2         1
2       4         1


Можно ли этот алгоритм реализовать в виде SQL запроса ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.