101. Unique Friendships

This advanced SQL exercise is part of the book: Advanced SQL – Practical Techniques and Use-Cases, which includes 100 day-to-day SQL challenges (and solutions), need-to-know advanced features, and key concepts.

Consider the following table:

CREATE TABLE friendships
(friendship_id int IDENTITY(1,1) PRIMARY KEY,
 member_id_1 int, 
 member_id_2 int)

The Friendships table describes relationship between different users, for example we can see that user_id 1 is a friend of user_id 2 , user_id 3 is a friend of user_id 2 , and so on.

By taking a closer look at the data, we can identify two problems :

  1. There are duplicate rows, for example friendship_ids 1 and 4 are redundant
  2. There are duplicate friendships, for example friendship ids 1 and 2 actually describe the same relationship

Your mission, should you choose to accept it 😉 is to fix those issues, and create a unique list of friendships.


Good luck!

My solution will be published in the near future.


UpScale Analytics is one of the largest platforms in the world for learning SQL by doing, consisting over 300 SQL exercises at different levels (including solutions), by topics, across over 100 different datasets. More…