Task Livecoding SQL Missing Users

11. Написать запрос.Всего 10 пользователей. В выводе 5 пользователей в статусе Новый, 3 пользователя в статусе Работает. Куда делось еще 2 пользователя? #

Сколько пользователей в каком статусе?
Результат должен быть в виде: Название статуса, Количество пользователей в этом статусе

User
id
name
status_id

Status
id
name
Спойлеры к решению
Подсказки
📊 Задача требует подсчета количества пользователей для каждого статуса.
🔍 Мы можем использовать JOIN для объединения таблиц User и Status, чтобы получить информацию о пользователях и их статусах.
🔑 Используем GROUP BY для группировки по статусу и подсчета количества пользователей в каждом статусе.
Решение
SELECT s.name AS status_name, COUNT(u.id) AS user_count
FROM User u
JOIN Status s ON u.status_id = s.id
GROUP BY s.name;

📌 Объяснение:

  • JOIN соединяет таблицы User и Status по полю status_id.
  • GROUP BY s.name группирует по названию статуса.
  • COUNT(u.id) подсчитывает количество пользователей в каждом статусе.

📊 Результат:

  • В выводе будут отображены статусы с количеством пользователей в этих статусах. Если пользователи не попали в вывод, это может означать, что они имеют статус, не представленный в запросе. Возможно, они имеют статус, который не был учтен в подсчете (например, был удален или имеет другой статус, не указанный в выводе).

🎯 Задача решена!