У меня есть социальное приложение, скажем, как твиттер, где пользователь может подписываться на других пользователей и может любить некоторые комментарии.
Мне нужно выбрать подписчиков пользователя и идентификаторы последних 2 комментариев, понравившихся каждому подписчику.(если есть), а также количество подписчиков подписчика, использующих MySQL.
Вот таблицы
Таблица user_follower
User_id follower_id
1 2
2 3
1 5
1 6
1 7
Таблица user_likes
comment_id User_id date
41 2 some_date
42 2 some_date
41 5 some_date
42 5 some_date
43 5 some_date
43 2 some_date
43 6 some_date
как мы можем сделать это в одном запросе mysql?
пока я могу получить подписчиков и количество подписчиков подписчиков и подписаться на обоих.
select uf.follower_id,
(select count(*) from user_followers uf1 where uf1.follower_id = uf.follower_id) as following_count,
(select count(*) from user_followers uf2 where uf2.user_id = uf.follower_id) as follower_count,
from user_followers uf
join users u on u.id = uf.follower_id
where uf.user_id = 1
Теперь я хочу получить 2 последних комментария_идида для каждого подписчика, то есть uf.follower_id здесь.если невозможно в том же запросе, я в порядке даже с другим запросом, так как будет передавать follower_ids как в параметре, но он должен дать мне 2 последних комментария для каждого переданного идентификатора.