Totalisation en SQL ORACLE8

Totalisation en SQL ORACLE8 - Programmation

Marsh Posté le 29-06-2001 à 08:45:29    

Exite-t-il un moyen pour faire des totalisations de colonne
en SQL?
Merci

Reply

Marsh Posté le 29-06-2001 à 08:45:29   

Reply

Marsh Posté le 29-06-2001 à 09:06:07    

tu as 'sum' mais tu connais déjà et tu as 'count' pour le nombre d'enregistrement mais tu connais aussi.......
c'est quoi tes totalisations???

Reply

Marsh Posté le 29-06-2001 à 09:14:03    

Exemple
 
A              120             150
B               60              50
            -------       --------
TOTAL          180             200

Reply

Marsh Posté le 29-06-2001 à 11:26:17    

C'est quoi le nom de tes colonnes ? (ie 120 et 60 ce sont différentes valeurs au sein d'une colonne ?)
 
A et B ce sont des enregistrements ? (ie des lignes)

Reply

Marsh Posté le 29-06-2001 à 11:41:44    

Col1            Col2  
Ligne 1 :A              120             150
Ligne 2 :B               60              50
                     -------       --------
         TOTAL          180             200  
Les chiffres correspondent a des sommes (SUM et GROUP BY)

Reply

Marsh Posté le 29-06-2001 à 12:10:15    

peut etre que sum (sum(champ)) essaye non??

Reply

Marsh Posté le 29-06-2001 à 13:53:13    

Je vois deux solutions :
 
1- une table temporaire avec les lignes A et B, sur laquelle tu fais une somme avec Group By classique.
 
OU
 
2- changer tes group by initiaux afin d'avoir une agrégation au niveau qui t'intéresse.

Reply

Marsh Posté le 29-06-2001 à 14:07:14    

...tu pourrais pas détailler un peu plus ta demande?

Reply

Marsh Posté le 29-06-2001 à 14:10:39    

supposons que ta table ait une clé primaire pk:
 
tu fais
 
select sum(t1.col1),sum(t2.col2)
from table t1, table t2
where
t1.pk = t2.pk  
 
faut juste rajouter une restriction sur les lignes pour
lesquelles tu fais la somme


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 29-06-2001 à 14:52:27    

Voici mon query SQL
Je cherche en fin d'edition une totalisation par colonne
 
        SELECT LB.LIBELLE,SUM(DUREE_APPEL),AVG(DUREE_APPEL),COUNT(DUREE_APPEL),COUNT(LB.LIBELLE)
        ,SUM(MONTANT),AVG(MONTANT)      
         FROM ST_HISTO_STAT ST, ST_LIBELLE LB
        WHERE
        DATE_APPEL BETWEEN TO_DATE('01/01/2001','DD/MM/YYYY') AND TO_DATE('28/06/2001','DD/MM/YYYY') AND
        ST.ID_PREFIX_APPELANT = LB.ID_LIBAUTO
        GROUP BY LB.LIBELLE ORDER BY LB.LIBELLE;

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed