OVH Cloud OVH Cloud

function max

4 réponses
Avatar
Vinny Bernier
Salut la gang, j'Ai besoin d'aide ....

voici ma requête

select l.titre, max((count(*)))
from livre l, auteur a, auteurlivre al
where l.id_livre=al.id_livre
and a.id_a=al.id_a
group by l.titre

et l'erreur suivante :

Impossible d'exécuter une fonction d'agrégation sur une expression
comportant un agrégat ou une sous-requête.

j'ai besoin de savoir le maximum de mon count. Un exemple serait apprecier
de ma demande! svp merci sa fait qq heure que je chercher!

Merci d'avance .......

4 réponses

Avatar
François Moreau
SELECT TOP 1 l.titre,COUNT(*)
FROM livre l,auteur a, auteurlivre al
WHERE l.id_livre=al.id_livre AND a.id_a=al.id_a
GROUP BY by l.titre
ORDER BY COUNT(*) DESC

A+
Fran22

"Vinny Bernier" a écrit dans le
message de news:
Salut la gang, j'Ai besoin d'aide ....

voici ma requête

select l.titre, max((count(*)))
from livre l, auteur a, auteurlivre al
where l.id_livre=al.id_livre
and a.id_a=al.id_a
group by l.titre

et l'erreur suivante :

Impossible d'exécuter une fonction d'agrégation sur une expression
comportant un agrégat ou une sous-requête.

j'ai besoin de savoir le maximum de mon count. Un exemple serait apprecier
de ma demande! svp merci sa fait qq heure que je chercher!

Merci d'avance .......


Avatar
Vinny Bernier
Merci francois, mais dans le cas au le max a deux enregistrement ? ce qui est
le cas, car la fonction top 1 je l'avais considéré.

"François Moreau" a écrit :

SELECT TOP 1 l.titre,COUNT(*)
FROM livre l,auteur a, auteurlivre al
WHERE l.id_livre=al.id_livre AND a.id_a=al.id_a
GROUP BY by l.titre
ORDER BY COUNT(*) DESC

A+
Fran22

"Vinny Bernier" a écrit dans le
message de news:
> Salut la gang, j'Ai besoin d'aide ....
>
> voici ma requête
>
> select l.titre, max((count(*)))
> from livre l, auteur a, auteurlivre al
> where l.id_livre=al.id_livre
> and a.id_a=al.id_a
> group by l.titre
>
> et l'erreur suivante :
>
> Impossible d'exécuter une fonction d'agrégation sur une expression
> comportant un agrégat ou une sous-requête.
>
> j'ai besoin de savoir le maximum de mon count. Un exemple serait apprecier
> de ma demande! svp merci sa fait qq heure que je chercher!
>
> Merci d'avance .......





Avatar
Patrice
A priori la clause WITH TIES permet d'afficher les ex-aequo...

Patrice

--

"Vinny Bernier" a écrit dans le
message de news:
Merci francois, mais dans le cas au le max a deux enregistrement ? ce qui


est
le cas, car la fonction top 1 je l'avais considéré.

"François Moreau" a écrit :

> SELECT TOP 1 l.titre,COUNT(*)
> FROM livre l,auteur a, auteurlivre al
> WHERE l.id_livre=al.id_livre AND a.id_a=al.id_a
> GROUP BY by l.titre
> ORDER BY COUNT(*) DESC
>
> A+
> Fran22
>
> "Vinny Bernier" a écrit dans le
> message de news:
> > Salut la gang, j'Ai besoin d'aide ....
> >
> > voici ma requête
> >
> > select l.titre, max((count(*)))
> > from livre l, auteur a, auteurlivre al
> > where l.id_livre=al.id_livre
> > and a.id_a=al.id_a
> > group by l.titre
> >
> > et l'erreur suivante :
> >
> > Impossible d'exécuter une fonction d'agrégation sur une expression
> > comportant un agrégat ou une sous-requête.
> >
> > j'ai besoin de savoir le maximum de mon count. Un exemple serait


apprecier
> > de ma demande! svp merci sa fait qq heure que je chercher!
> >
> > Merci d'avance .......
>
>
>


Avatar
François Moreau
En effet Patrice,

avec l'option WITH TIES, tu as tous les éléments ex-aequo ...

SELECT TOP 1 WITH TIES l.titre,COUNT(*)
FROM livre l,auteur a, auteurlivre al
WHERE l.id_livre=al.id_livre AND a.id_a=al.id_a
GROUP BY by l.titre
ORDER BY COUNT(*) DESC

Fran22

"Patrice" a écrit dans le message de news:

A priori la clause WITH TIES permet d'afficher les ex-aequo...

Patrice

--

"Vinny Bernier" a écrit dans le
message de news:
Merci francois, mais dans le cas au le max a deux enregistrement ? ce qui


est
le cas, car la fonction top 1 je l'avais considéré.

"François Moreau" a écrit :

> SELECT TOP 1 l.titre,COUNT(*)
> FROM livre l,auteur a, auteurlivre al
> WHERE l.id_livre=al.id_livre AND a.id_a=al.id_a
> GROUP BY by l.titre
> ORDER BY COUNT(*) DESC
>
> A+
> Fran22
>
> "Vinny Bernier" a écrit dans
> le
> message de news:
> > Salut la gang, j'Ai besoin d'aide ....
> >
> > voici ma requête
> >
> > select l.titre, max((count(*)))
> > from livre l, auteur a, auteurlivre al
> > where l.id_livre=al.id_livre
> > and a.id_a=al.id_a
> > group by l.titre
> >
> > et l'erreur suivante :
> >
> > Impossible d'exécuter une fonction d'agrégation sur une expression
> > comportant un agrégat ou une sous-requête.
> >
> > j'ai besoin de savoir le maximum de mon count. Un exemple serait


apprecier
> > de ma demande! svp merci sa fait qq heure que je chercher!
> >
> > Merci d'avance .......
>
>
>