Intermédiaire
Étant donné les tables 'orders' et 'order_items' suivantes :
orders:
| order_id | customer_id |
|----------|-------------|
| 1 | 1 |
| 2 | 2 |
| 3 | 1 |
order_items:
| order_item_id | order_id | product_id | quantity |
|---------------|----------|------------|----------|
| 1 | 1 | 1 | 2 |
| 2 | 1 | 2 | 1 |
| 3 | 2 | 1 | 1 |
Quelle requête SQL permet de récupérer l'order_id et le nombre total d'articles pour chaque commande ?
Auteur: Vincent CotroStatut : PubliéeQuestion passée 2309 fois
Modifier
5
Évaluations de la communauté
Anas
09/11/2023
SELECT order_id, COUNT(*) FROM order_items GROUP BY order_id; — Cette requête compterait le nombre de lignes (entries) d'articles pour chaque commande, ce qui n'est pas la même chose que la somme des quantités de ces articles.
SELECT order_id, COUNT(order_item_id) FROM order_items GROUP BY order_id; — Semblable à la première, cette requête compterait le nombre d'identifiants d'articles par commande, qui ne correspond pas non plus à la quantité totale des produits.
SELECT order_id, COUNT(product_id) FROM order_items GROUP BY order_id; — Encore une fois, cette requête compterait le nombre de produits distincts par commande, sans tenir compte de la quantité de chaque produit.
La bonne requête est je pense :
SELECT order_id, SUM(quantity) FROM order_items GROUP BY order_id;
Merci de me corriger si je me trompe. Bon courage
Sélomé
20/12/2023
La réponse est bien SELECT order_id, SUM(quantity) FROM order_items GROUP BY order_id ?
mais dans la correction il est indiqué que c'est plutôt : SELECT order_id, COUNT(*) FROM order_items GROUP BY order_id
Quelqu'un pourrait m'expliquer en quoi avec un count(*) on peut avoir le nombre total de quantité?
Merci par avance :)
16
Quel mot-clé SQL est utilisé pour trier le résultat d'une instruction SELECT?17
Écrire une requête SQL pour insérer des données dans une table19
Sélectionner uniquement les valeurs distinctes d'une colonne en SQL44
Écrire une requête SQL pour récupérer la liste des employés avec un salaire supérieur à 5100.16
Modifier une colonne dans une table SQL12
Écrire une requête SQL pour récupérer les titres des livres écrits par 'John Smith'.11
Écrire la requête SQL pour supprimer une colonne d'une table