1917. Leetcodify Friends Recommendations

https://leetcode.com/problems/leetcodify-friends-recommendations

Description

Table: Listens

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| user\_id     | int     |
| song\_id     | int     |
| day         | date    |
+-------------+---------+
There is no primary key for this table. It may contain duplicates.
Each row of this table indicates that the user user\_id listened to the song song\_id on the day day.

Table: Friendship

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| user1\_id      | int     |
| user2\_id      | int     |
+---------------+---------+
(user1\_id, user2\_id) is the primary key for this table.
Each row of this table indicates that the users user1\_id and user2\_id are friends.
Note that user1\_id < user2\_id.

Write an SQL query to recommend friends to Leetcodify users. We recommend user x to user y if:

  • Users x and y are not friends, and

  • Users x and y listened to the same three or more different songs on the same day.

Note that friend recommendations are unidirectional, meaning if user x and user y should be recommended to each other, the result table should have both user x recommended to user y and user y recommended to user x. Also, note that the result table should not contain duplicates (i.e., user y should not be recommended to user x multiple times.).

Return the result table in any order.

The query result format is in the following example:

ac

Last updated

Was this helpful?