Question sur UNION et GROUP BY
Bonjour la communauté;
Voilà j'ai une question : si ces deux expressions sont équivalentes ? La première affiche la moyenne des ventes par catégorie et par année et la deuxième fait l'union de deux agrégations :
Code:
1 2 3 4 5
| SELECT p.category, t.year AVG(purchase_price) average_sales
FROM product p, time t, purchases f
Where p.prod_id = f.prod_id
And t.time_key = f.time_key
GROUP BY p.category, t.year ; |
Code:
1 2 3 4 5 6 7 8 9 10 11
| SELECT p.category, t.year AVG(purchase_price) average_sales
FROM product p, time t, purchases f
Where p.prod_id = f.prod_id
And t.time_key = f.time_key
GROUP BY p.category
union
SELECT p.category, t.year AVG(purchase_price) average_sales
FROM product p, time t, purchases f
Where p.prod_id = f.prod_id
And t.time_key = f.time_key
GROUP BY t.year |