-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHT8
More file actions
33 lines (30 loc) · 1.27 KB
/
HT8
File metadata and controls
33 lines (30 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ДЗ Урок 8
#join Задание 1: "Определить кто больше поставил лайков (всего) - мужчины или женщины?"
SELECT p.gender AS `Пол`, count(likes.id) AS `Лайков`
FROM likes
JOIN profiles AS p
ON p.user_id = likes.user_id
GROUP BY `Пол` ORDER BY `Лайков`;
#join Задание 2: "Подсчитать общее количество лайков, которые получили 10 самых молодых пользователей"
SELECT sum(over_likes) AS total
FROM (SELECT count(target_types.id) AS over_likes
FROM profiles
LEFT JOIN likes
ON likes.target_id= profiles.USER_id
LEFT JOIN target_types
ON likes.target_type_id=target_types.id
AND target_types.name= 'users'
GROUP BY profiles.user_id
ORDER BY profiles.birthday DESC
LIMIT 10
) AS youngest;
#join Задание 3: "Найти 10 пользователей, которые проявляют наименьшую активность в использовании социальной сети."
SELECT USERs.id, count(DISTINCT messages.id)+ count( DISTINCT likes.id) AS activity
FROM users
LEFT JOIN vk5.messages
ON users.id= messages.from_user_id
LEFT JOIN vk5.likes
ON users.id=likes.user_id
GROUP BY users.id
ORDER BY activity
LIMIT 10;