OVH Cloud OVH Cloud

Question sur count

3 réponses
Avatar
Thierry
Bonjour ,

Est il possible de afire une count de cette requette ?
SELECT art,
MIN(dated) as Dated,
MAX(Datef) as datef,
FROM ENTETE
WHERE (TYPE = 'X')
GROUP BY art
order by art

Je ne vois pas comment faire
Merci de me donner une piste

Thierry

3 réponses

Avatar
Jean-Nicolas BERGER
Si le but est de compter les différents art, un simple SELECT count(distinct
art) from ENTETE fera l'affaire.
Si le but est de déterminer pour chaque art le nombre d'enregistrements, il
suffit d'inclure un count(*) as Nombre dans la liste des champs retournés
par le SELECT.
JN.

"Thierry" <== a écrit dans le message de news:
O2CX1$
Bonjour ,

Est il possible de afire une count de cette requette ?
SELECT art,
MIN(dated) as Dated,
MAX(Datef) as datef,
FROM ENTETE
WHERE (TYPE = 'X')
GROUP BY art
order by art

Je ne vois pas comment faire
Merci de me donner une piste

Thierry




Avatar
Fred BROUARD
Thierry a écrit :
Bonjour ,

Est il possible de afire une count de cette requette ?
SELECT art,
MIN(dated) as Dated,
MAX(Datef) as datef,
FROM ENTETE
WHERE (TYPE = 'X')
GROUP BY art
order by art

Je ne vois pas comment faire
Merci de me donner une piste

Thierry




Utilisez la technique de la table dérivée (sous requête) :
SELECT COUNT(*)
FROM (SELECT art, MIN(dated)as Dated, MAX(Datef) as datef
FROM ENTETE
WHERE TYPE = 'X'
GROUP BY art) T

Vous pouvez aussi faire cela avec une vue ou une CTE si vous êtes en 2005.

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Thierry
Merci pour vos reponse.

Thierry

"Fred BROUARD" a écrit dans le message de news:

Thierry a écrit :
Bonjour ,

Est il possible de afire une count de cette requette ?
SELECT art,
MIN(dated) as Dated,
MAX(Datef) as datef,
FROM ENTETE
WHERE (TYPE = 'X')
GROUP BY art
order by art

Je ne vois pas comment faire
Merci de me donner une piste

Thierry




Utilisez la technique de la table dérivée (sous requête) :
SELECT COUNT(*)
FROM (SELECT art, MIN(dated)as Dated, MAX(Datef) as datef
FROM ENTETE
WHERE TYPE = 'X'
GROUP BY art) T

Vous pouvez aussi faire cela avec une vue ou une CTE si vous êtes en 2005.

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************