Задание по среднему возрасту в таблице и сколько на каждую неделю дней рождений. SQL
Всем привет, у меня есть практическое задание на курсах, но я не понимаю как его выполнить.
1)Подсчитайте средний возраст пользователей в таблице users. 2)Подсчитайте количество дней рождения, которые приходятся на каждый из дней недели. Следует учесть, что необходимы дни недели текущего года, а не года рождения.
Вот данные таблицы, чтобы было проще:
Мне говорили что-то про виртуальные таблицы, но до меня не дошло.
Так же знаю что можно datetime((to_days(now()) - to_days(birthday)) / 365.25) - чтобы узнать сколько лет персоне, но дальше этого не идет(( Помогите пожалуйста, как можно было понять, это MySQL.
Вот с подсказкой в комментарии, все еще не понимаю как?

Ответы (1 шт):
Я эту же домашку сейчас делаю. Получилось через count & group by.
1)
select
avg(
(YEAR(CURRENT_DATE) - YEAR(birthday)) - (DATE_FORMAT(CURRENT_DATE, '%m%d') < DATE_FORMAT(birthday, '%m%d'))
)
FROM profiles
select
weekday(date_format(birthday, '2021-%m-%d')) as 'day_number',
count(*) as 'birthdays_qnty'
from profiles
group by weekday(date_format(birthday, '2021-%m-%d'))
order by day_number;

