Avoir le total d'un colonne requête SQL

Fermé
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 7 mars 2011 à 11:01
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 - 8 mars 2011 à 12:38
Bonjour,

comment puis je avoir en plus le total de la troisième colonne (nombre_clients) dans la requête suivante :

select ru.name as nom,nl.name as qualification,count(cr.id) as nombre_clients
from
level nl,rm_cae cr,users ru
where
cr.level1=nl.id and cr.user_id=ru.id and ru.role in('lvl','htl') and ru.act='t'
group by nl.name,ru.name order by nom,qualification,nombre_clients DESC;

résultat de la requête :

nom | qualification | nombre_clients
-------------------+-------------------+----------------
nom prenom | qualification | 20
nom prenom | qualification | 3
nom prenom | qualification | 7
nom prenom | qualification | 73

Merci


7 réponses

pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
Modifié par pcsystemd le 7/03/2011 à 12:12
Merci pour ton info mais SUM dans ce cas ne donne pas le total de la colonne mais donne le total par qualification des id comme ci dessous :

nom | qualification | nombre_clients
-------------------+-------------------+----------------
nom prenom | qualification | 42569455
nom prenom | qualification | 5698423
nom prenom | qualification | 658941
nom prenom | qualification | 9876544

ce qui n'est pas ce que j'attends en faites j'attends :

nom | qualification | nombre_clients
-------------------+-------------------+----------------
nom prenom | qualification | 20
nom prenom | qualification | 3
nom prenom | qualification | 7
nom prenom | qualification | 73
TOTAL |103

Merci
L'accès au savoir est la première liberté que chaque homme devrait avoir.
0
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
7 mars 2011 à 13:55
c'est un exemple d'affichage mais le tri ce voit bien en réalité avec les vraies données. Je vais pas me compliquer et je vais comme tu le dis faire une seconde requête.

Merci
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
7 mars 2011 à 15:27
Bonjour,

Ce genre de chose est faisable, mais dépend du SGBD.
Sous SQL Server, il faut utiliser ROLLUP. Pour les autres, je ne sais pas si cela fonctionne...
Ta requête deviendrait :

select ru.name as nom,nl.name as qualification,count(cr.id) as nombre_clients
from
level nl,rm_cae cr,users ru
where
cr.level1=nl.id and cr.user_id=ru.id and ru.role in('lvl','htl') and ru.act='t'
group by nl.name,ru.name WITH ROLLUP
order by nom,qualification,nombre_clients DESC;


Xavier
0
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
8 mars 2011 à 07:32
Merci Reivax962 mais sous postgresql WITH ROLLUP ne fonctionne pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
Modifié par Jean_Jacques le 8/03/2011 à 07:38
Bonjour pcsystemd,


Une requête UNION semi-acrobatique qui peut être utile :
(Exemple avec 2 tables : FICHIER_PAL et [Table des statuts]

SELECT [Table des statuts].Statut, Count([Table des statuts].Statut) AS Nbre
FROM [Table des statuts] INNER JOIN FICHIER_PAL ON [Table des statuts].RéfStatut = FICHIER_PAL.RéfStatut
GROUP BY [Table des statuts].Statut, FICHIER_PAL.RéfStatut
UNION select « Total », Count(FICHIER_PAL.RéfStatut) AS TotalConsolidé
FROM FICHIER_PAL
ORDER BY [Table des statuts].Statut;


Champ de liaison entre les tables : RéfStatut
Restitution :
NB : La mise en forme n'a pas résisté au copier/coller

Statut Nbre
Annulé 2
En Cours 5
Exécuté 26
Expiré 16
Total 49


Cordialement
La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
0
pcsystemd Messages postés 691 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 15 janvier 2024 22
8 mars 2011 à 12:38
Merci Jean_Jacques pour cette info. Je testerais plus tard puisque pour le moment j'ai fait autrement avec des requêtes séparées.
0
swoog42 Messages postés 1059 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 16 décembre 2018 244
7 mars 2011 à 11:03
remplace count par sum
-1