Requete oracle SQL fonctions d'agrégation

anasiq Messages postés 1 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 4 avril 2009 - 4 avril 2009 à 04:31
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 8 avril 2009 à 10:56
Bonjour à tous j ai un probleme dans une rekette si quelqu'un vous pouvez m'aider :

en 2008 ,quel est le mois qui a connu le passage du plus petit nombre de commandes.

select to_char(DATE_ORDERED,'MONTH') as Mois ,COUNT(*) Nbr_Cmd  from s_ord 

where to_char(DATE_ORDERED,'yyyy')='2008'

group by to_char(DATE_ORDERED,'MONTH')

HAVING COUNT(*) =(select MIN(N) from (select count(*)as N from s_ord ))


j ai un message aucune donnée n'a été trouvée, j'utilise oracle database  express edition merci bcp de m'aider

1 réponse

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
8 avril 2009 à 10:56
salut

j'aurais plutot mis un truc du genre

HAVING COUNT(*) = (SELECT MAX(COUNT(*)) from s_ord 
where to_char(DATE_ORDERED,'yyyy')='2008'
group by to_char(DATE_ORDERED,'MONTH')

sinon, (mais après tout dépend de ce que tu veux faire de ta requête derrière)
tu peux aussi trier par ordre décroissant sur COUNT(*) => ORDER BY Count(*) DESC
Le premier résultat est celui que tu cherches...
0
Rejoignez-nous