TGViewer
Откровенная аналитика Откровенная аналитика @naked_analytics · 867 subscribers
Post #103 1.06K
Задача с собеса которую не смогли решить в LinkedIn

Недавно увидел в линке разбор хитрой SQL-задачи про подсчёт количества общих друзей. Но решение было предложено не совсем правильное, поэтому захотел разобрать её сам

Задача такая

Есть таблица friends_table c колонками user, friend (это айдишники)
Таблица содержит пары пользователей социальной сети, которые состоят в друзьях друг у друга

Таблица устроена так, что user<friend (смысл этого условия в том, что каждая пара пользователей записана всего один раз)

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


Решение
WITH AllFriendPairs AS (
SELECT user, friend FROM friends_table
UNION ALL
SELECT friend, user FROM friends_table
)
-- Находим общих друзей для каждой исходной пары
SELECT
f1.user,
f1.friend,
COUNT(t2.friend) AS common_friends_count
FROM
friends_table AS f1
JOIN
AllFriendPairs AS t1 ON f1.user = t1.user
JOIN
AllFriendPairs AS t2 ON f1.friend = t2.user AND t1.friend = t2.friend
GROUP BY
f1.user, f1.friend
ORDER BY
common_friends_count DESC;


Оригинальный пост, в котором подсмотрел задачу тут
  • 👍 7
  • ❤ 1
More from @naked_analytics
  1. Dec 4, 2025Джойн про который я узнал спустя 4 года работы в аналитике Недавно узнал, что помимо всех…
  2. Dec 1, 2025Почему каждый дашборд должен начинаться с дизайна И я сейчас не про подбор шрифтов и цвето…
  3. Nov 17, 2025В эту пятницу буду выступать на матемаркетинге Расскажу про то как собрал ассистента на ба…
  4. Sep 17, 2025Как откликаться на вакансии куда сотни человек уже откликнулись Вы наверняка видели ваканс…
  5. Sep 10, 2025Задача из Meta, в которой многие ошибаются ☔️ Недавно в LinkedIn увидел задачку (говорят,…
  6. Aug 15, 2025Попробовал Google CLI и был приятно удивлён результатом Не так давно гугл выпустил своего…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →