у меня 3 таблицы 1. пользователи
name surname id birthdate
Lowell Bishop 1 1981-05-19
Rodney Miller 2 1968-01-15
Binyamin Boone 3 1991-12-21
2.друзья
userid1 userid2 timestamp
1 2 2018-12-03 20:11:03
1 3 2018-02-02 05:36:32
2 3 2018-01-16 02:50:08
3. лайки
userid postid timestamp
1 4 2018-05-15 21:38:52
2 195 2018-11-17 09:28:43
3 252 2018-10-26 07:08:12
Я получил 2 запроса
/ Запрос на получение пользователей, у которых более 5 друзей в марте 2018 года /
SELECT count(u1.id) as friends_count,
u1.id, u1.name,u1.surname FROM users u1
INNER JOIN friendships f ON f.userid1 = u1.id
INNER JOIN users u2 ON u2.id = f.userid2
where f.timestamp >= '2025-03-01' and f.timestamp <= '2025-03-31'
group by u1.id
having count(f.userid1) >= 5
order by u1.id;
/ Запрос на получение пользователей, у которых более 5 лайков в марте 2018 года /
SELECT count(u1.id) as likes_count,u1.id, u1.name,u1.surname FROM users u1
INNER JOIN likes l ON u1.id = l.userid
where l.timestamp >= '2025-03-01' and l.timestamp <= '2025-03-31'
group by u1.id
having count(u1.id) >= 5
order by u1.id;
Как пересечь эти 2 запроса в 1?Я использую MySQL, поэтому пересечение выдает ошибку.Я пытаюсь получить эти результаты в 1 таблице, что-то вроде этого:
friends_count likes_count id name surname
5 4 78 Joselyn Lynn