php - What kind of algorithm should I use to find similarities in a db? -
let's have 1000 users app. ask them 100 questions answers yes/no , record answers in seperate table.
now, want see people has given same answers @ least 20 questions.
what kind of algorithm should follow in order this? relevant keywords googling?
p.s. work in wamp environment.
join answers table itself, selecting answers share same question_id
, answer
have different user_id
. group rows both user_id
s , use having
clause exclude less 20 matching answers.
example looking users similar user user_id
"1":
select distinct a2.user_id answers inner join answers a2 on a.question_id = a2.question_id , a.answer = a2.answer , a.user_id != a2.user_id a.user_id = 1 group a.user_id, a2.user_id having count(*) >= 20;
technically don't need group a.user_id
in case i've left there in case want modify where
clause return results more 1 a.user_id
.
Comments
Post a Comment