Get people with similar interests
I can show you an example for SQL Server, but it should you help for your RDBMS aswell.

I hope I understood the question. Suppose you want to get TOP users based on the number of same skills as the current user.  

Some sample data:

CREATE TABLE skills (
  id INT NOT NULL,
  skill INT NOT NULL);

INSERT INTO skills (id,skill)
VALUES
  (1,1),(1,2),(1,3),
  (2,1),(2,6),
  (3,1),(3,3),(3,4),(3,5),
  (4,1),(4,5),
  (5,1),(5,2),(5,3),(5,5),
  (7,2),(7,4),(7,5),(7,6),
  (8,8);


The query:

SELECT
  cus.id AS current_user_id
  ,ous.id AS other_user_id
  ,COUNT(*) AS same_skill_count
FROM
  skills AS ous -- other users' skills
  JOIN skills AS cus -- current user's skills
    ON cus.skill = ous.skill -- we are looking for users that have some of the current user's skills
      AND cus.id &lt;&gt; ous.id -- exclude the current user from the list
GROUP BY
  cus.id
  ,ous.id
ORDER BY
  cus.id
  ,same_skill_count DESC


SQLFiddle demo

Hope that helps.