Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 14h24   #1
Invité de passage
 
Inscription : juillet 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : juillet 2011
Messages : 3
Points : 0
Points : 0
Par défaut Somme sur DISTINCT

Bonjour à tous,

En fait j'ai une table avec une liste de commandes.

Cette liste de commandes comporte des commandes doubles donc le but est de sommer tout les montant de la tables en ne prenant pas compte des doublons qui sont identifés par un numéro de commande.

Si je fais un DISTINCT alors je n'ai que la liste des références de commandes.

Code :
1
2
 
SELECT DISTINCT commandeRef FROM MyTable
Comment ajouter le champ "Montant" à cette requete ?
Car dans ce cas je n'aurai plus qu'a faire la somme.

Merci
gregWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 14h35   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 638
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 638
Points : 2 630
Points : 2 630
Bonjour,

Lisez ceci : http://sqlpro.developpez.com/cours/sqlaz/ensembles/
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 16h46   #3
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
Salut !

Les commandes doubles ont le même montant ?

Dans ce cas, fais ton dédoublonnage avec le distinct, puis somme normalement :

Code :
1
2
3
4
5
6
 
SELECT sum(montant)
FROM (
   SELECT DISTINCT commandeRef, montant
   FROM MyTable 
) t
Et sinon, il te faut un critère pour savoir quel doublon tu considères pour la somme...
__________________

(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...

Le pacblog : http://pacmann.over-blog.com/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 17h25   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 433
Points : 10 433
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Citation:
Envoyé par pacmann Voir le message
Les commandes doubles ont le même montant ?
En partant du même postulat, si votre SGBD supporte les agrégats imbriqués - je ne suis pas sûr que ce soit dans la norme, ça existe au moins chez Oracle :
Code :
1
2
3
  SELECT sum(min(montant)) AS montant
    FROM MyTable 
GROUP BY commandeRef
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h50.


 
 
 
 
Partenaires

Hébergement Web