La tâche consiste à sélectionner la sous-catégorie avec le bénéfice minimum par an. La requête suivante, sélectionne quelques sous-catégories par an:La fonction MIN ne fonctionne pas correctement dans une requête SQL compliquée
select
min (Profit),
CalendarYear,
EnglishProductSubcategoryName
from (
select
SUM(fis.SalesAmount-fis.TotalProductCost) Profit,
t.CalendarYear,
sc.EnglishProductSubCategoryName
from FactInternetSales fis
inner join DimProduct p
on fis.ProductKey = p.ProductKey
inner join DimProductSubcategory sc
on p.ProductSubcategoryKey = sc.ProductSubcategoryKey
inner join DimTime t
on fis.DueDateKey = t.TimeKey
group by CalendarYear, EnglishProductSubcategoryName) aa
--Order by CalendarYear
) aa
group by CalendarYear, EnglishProductSubcategoryName
order by CalendarYear
Veuillez expliquer quel est le problème avec la requête que vous avez publiée? comment la fonction 'MIN' ne fonctionne pas correctement? pas la sortie désirée? des erreurs? –
La requête sélectionne par exemple - 2011, 20 000, gants suivant: 2011, 9 000, bottes etc ... Il ne doit y avoir qu'un seul bénéfice de catégorie minimum pour chaque année. –
La façon dont vous avez écrit cette requête, vous obtiendrez ** une valeur MIN() par année et catégorie ** - donc un pour (2011, gants) et un autre pour (2011, Boots) etc - c'est la façon dont vous avez écrit la requête, c'est ainsi que vous récupérez vos données. –