From 449c1db7bae89db19119a8dd9e3a0767dabe7aab Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 6 Nov 2019 00:19:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=81=D0=B5=20=D1=81=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B0=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson06/task1.sql | 17 +++++++++++++++++ lesson06/task2.sql | 8 ++++++++ lesson06/task3.sql | 23 +++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 lesson06/task1.sql create mode 100644 lesson06/task2.sql create mode 100644 lesson06/task3.sql diff --git a/lesson06/task1.sql b/lesson06/task1.sql new file mode 100644 index 0000000..f426217 --- /dev/null +++ b/lesson06/task1.sql @@ -0,0 +1,17 @@ +use vk; + +SET @u_id = 1; #Задаем ID исходного пользователя +#select @u_id; + +select u.id, u.firstname, u.lastname, C +from (select + IF(from_user_id = @u_id,to_user_id,from_user_id) as boltun, #Получаем ID собеседника + id, + Count(id) as C + from messages + where from_user_id = @u_id or to_user_id = @u_id + group by boltun + having C) as a, users as u +where + a.id = u.id +limit 1 diff --git a/lesson06/task2.sql b/lesson06/task2.sql new file mode 100644 index 0000000..38763ac --- /dev/null +++ b/lesson06/task2.sql @@ -0,0 +1,8 @@ +use vk; + +select Count(*) +from users as u,media as m,likes as l,profiles as p +where u.id = m.user_id and + m.id = l.media_id and + u.id = p.user_id and + timestampdiff(year,p.birthday,now()) < 10 \ No newline at end of file diff --git a/lesson06/task3.sql b/lesson06/task3.sql new file mode 100644 index 0000000..1f8b00c --- /dev/null +++ b/lesson06/task3.sql @@ -0,0 +1,23 @@ +use vk; + +select IF(gender = "f","female","male") as gender_win +from + (select p.gender,Count(*) as count_likes + from likes as l + left join + users as u on l.user_id = u.id + inner join + profiles as p on u.id = p.user_id + where + p.gender = "f" + union + select p.gender,Count(*) + from likes as l + left join + users as u on l.user_id = u.id + inner join + profiles as p on u.id = p.user_id + where + p.gender = "m") as res +order by count_likes desc +limit 1 \ No newline at end of file