Senior
Requête SQL : afficher les identifiants des utilisateurs et le nombre de leurs commandes en statut COMPLETED, y compris les utilisateurs sans commandes de ce statut
sobes.tech IA
Réponse de l'IA
Чтобы вывести id всех пользователей и количество их заказов в статусе COMPLETED, включая пользователей без таких заказов, нужно использовать LEFT JOIN между таблицей пользователей и заказов, а затем сгруппировать по пользователю.
Пример SQL-запроса:
SELECT u.id AS user_id,
COUNT(o.id) AS completed_orders_count
FROM users u
LEFT JOIN orders o ON o.user_id = u.id AND o.status = 'COMPLETED'
GROUP BY u.id
ORDER BY u.id;
Объяснение:
LEFT JOINгарантирует, что все пользователи попадут в результат, даже если у них нет заказов с нужным статусом.- Условие по статусу
COMPLETEDпомещено вON, чтобы не исключать пользователей без таких заказов. COUNT(o.id)считает количество заказов с нужным статусом, для отсутствующих будет 0.