OVH Cloud OVH Cloud

Clause Having

5 réponses
Avatar
Kigner
Hello!

Je désire extraire d'une table des valeurs unique pour un jour donné, un
serveur donné, une classe donnée...
Il ne doit y avoir qu'un seul enregistrement...

je présume que cela se passe comme tel:

select * from toto where a,b,c group by a having count (a)=1 and count(b)=1
and count (c)=1

d'avance, merci!
salutation

5 réponses

Avatar
Fred BROUARD
non....

Il vous manque le GROUP BY !

Kigner a écrit:
Hello!

Je désire extraire d'une table des valeurs unique pour un jour donné, un
serveur donné, une classe donnée...
Il ne doit y avoir qu'un seul enregistrement...

je présume que cela se passe comme tel:

select * from toto where a,b,c group by a having count (a)=1 and count(b)=1
and count (c)=1

d'avance, merci!
salutation



--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Kigner
Merci Fred!

je ne vous suit pas, j'ai mis un GROUP BY après ma clause where...
auriez-vous un exemple ?

D'avance Merci !

"Fred BROUARD" a écrit :

non....

Il vous manque le GROUP BY !

Kigner a écrit:
> Hello!
>
> Je désire extraire d'une table des valeurs unique pour un jour donné, un
> serveur donné, une classe donnée...
> Il ne doit y avoir qu'un seul enregistrement...
>
> je présume que cela se passe comme tel:
>
> select * from toto where a,b,c group by a having count (a)=1 and count(b)=1
> and count (c)=1
>
> d'avance, merci!
> salutation

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************




Avatar
Patrice
A quoi correspond le "where a,b,c" ? Je proposerai plutôt :

select a,b,c from toto group by a,b,c

ou encore :

select distinct a,b,c from toto

Le message que tu obtiens peut aider aussi...

--

"Kigner" a écrit dans le message de
news:
Hello!

Je désire extraire d'une table des valeurs unique pour un jour donné, un
serveur donné, une classe donnée...
Il ne doit y avoir qu'un seul enregistrement...

je présume que cela se passe comme tel:

select * from toto where a,b,c group by a having count (a)=1 and


count(b)=1
and count (c)=1

d'avance, merci!
salutation


Avatar
Synopsis
Je pense qu'il manque le distinct


select a
from toto
group by a
having count(disitnct b)=1 and and count (distinct c)=1

count(distinct a) = toujours à 1
count(a) = nombre d'enregistrements


"Kigner" a écrit dans le message de
news:
Hello!

Je désire extraire d'une table des valeurs unique pour un jour donné, un
serveur donné, une classe donnée...
Il ne doit y avoir qu'un seul enregistrement...

je présume que cela se passe comme tel:

select * from toto where a,b,c group by a having count (a)=1 and


count(b)=1
and count (c)=1

d'avance, merci!
salutation


Avatar
Gilles
Tu tri et filtre ta requete comme tu le souhaite pour avoir ton résultat
voulu en premier

et tu fais un SELECT TOP 1 pour récupérer que la premièe ligne de la
requete :-)

Gilles