как лучше сделать запрос для определения похожести событий?

horal

Новичок
как лучше сделать запрос для определения похожести событий?

Привет всем!

собственно, есть такая интересная задачка:


У объекта есть события в жизни

каждое событие характирезуется 12-ю параметрами.

нужно найти объекты у которых совпадает наибольшее число событий.

критерий похожести событий: наличие одинаковых параметров.

событие: 0|1 ( т.е. если или нет )
( 12 атрибутов ): 1 0 1 0 1 0 1 0 0 0 1 1

получается, что для каждого объекта нужно взять все события

и каждое событие сравнить с каждым событие других объектов.

как на данный момент решается вопрос:


берем событие : ( 1 1 1 1 1 1 1 1 1 1 1 1 )

и сравниваем с остальными

SELECT MAX(t1*1+t2*1+t3*1+t4*1+t5*1+t6*1+t7*1+t8*1+t9*1+t10+*+t11*1+t12*1) as top
id FROM events where group_id=1 ...

наиболее похожие - там где сумма максимальна.


Можно ли как-то упростить это дело?


т.е. у нас есть 3 события:

1 0 1 - 1
0 0 1
1 1 0 - 2

Наиболее совпавшее - это 1 и 2 ( совпали, т.к. у них 1-й атрибут = 1 )
 
Сверху