IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[Tri] Clause de tri


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut [Tri] Clause de tri
    Bonjour j'ai mis à me rendre compte que la problèmatique que j'avais venait d'une lacune SQL, encore une fois
    Voilà j'ai une table qui ressemble à ceci
    Centre d'exploitation, Articles, nb ventes
    J'ai par exemple
    Asnières sur seine, dvd, 58
    Asnières sur seine, tv, 25
    Asnières sur seine, CD, 41
    Colombes, 410, tv
    Colombes, DVD, 61
    Colombes, CD, 54
    Colombes, Chaine hifi, 45
    Colombes, Haut parleurs, 61
    Paris, tv, 200
    Paris, dvd, 1500
    Paris, CD, 5000
    Paris, Haut parleurs, 3000
    Paris, Amplis, 200
    Paris, Enceintes, 1800
    Rosny2, tv,500
    Rosny2, chaine hifi,500
    Rosny2, CD,500

    J'ai fait une requete qui trie admirablement par ordre alphabetique, mais ce qu'il me faut c'est un tri sur le nombre de ventes, en faite la somme des ventes par centre.
    En la matière Paris devrait arriver en tete, ce qui n'est pas le cas ici puisque c'est trié par ordre alphabetique .
    Or ce qu'il me faut c'est un tri sur une somme, parce que si je fais order by 3, j'ai un un tri par les chiffre, et ça ne va pas, puisqu'il me faut les centres avec leur somme totale, leur chiffre d'affaire en fait.
    En vous remerciant à l'avance.

    Cordialement.

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Rien ne serait plus facile en fait que de rajouter un group by, avec une sum -je suis sous Oracle 10g- or je dois absolument afficher les informations tels qu'elles sont, puisqu'avec cette requete, je genere des graphes, et c'est en gros correcte, à l'exception du tri.
    Le seul endroit où il faudrait intervenir c'est dans le tri, j'ai éssayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    order by (select ...from table...)
    mais j'obtiens une erreur, je pense que c'est du au fait que je ne connais pas assez sql. Ne s'improvise pas spécialiste sql qui veut, c'est un métier, qui demande de redoutables connaissances, et une trés bonne logique, additionné à une expérience trés pointue, et beaucoup de travail.
    Si ça suffit pas, je peux rajouter la requete, qui ressemble à une usine à gaz. Parce que les infos que j'ai mis ne sont que le reflet du problème, c'est ce que je veux obtenir.
    Bien à vous.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 091
    Points : 28 362
    Points
    28 362
    Par défaut
    Si j'ai bien compris, tu voudrais une requête qui affiche le détail des ventes mais qui soit triée sur le total des ventes par centre.
    Quelque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT    det.Centre
        ,    det.Article
        ,    det.Nombre
    FROM    Ventes    AS det
        INNER JOIN
            (    SELECT    Centre
                    ,    SUM(Nombre)    AS    Total
                FROM    Ventes
                GROUP BY Centre 
            )    AS tot
            ON    det.Centre = tot.Centre
    ORDER BY tot.Total
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Oh la la !!!
    Mille milliards de mille mercis, vous le faites en plus pendant le week-end. Alors comment vous remercier ? Sincérement je ne sais pas. Vous n'imaginez pas le temps que j'ai passé dessus. Personne autour de moi n'a été capable de me donner l'approche d'une solution. Toute les combinaisons éssayées, sauf bien entendu la bonne.
    J'ai l'impression que chaque jour qui passe démontre avec acuité mes lacunes énormes en sql.
    POurriez vous s'il vous plait m'indiquer des bons livres d'exercices.

    Bien à vous.

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 249
    Points : 1 745
    Points
    1 745
    Par défaut
    autre solution pour arriver au meme resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    createtable peuplier(Centre_dexploitation varchar(50), Articles varchar(20), nb_ventes int)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Asnières sur seine',' dvd', 58)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Asnières sur seine',' tv', 25)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Asnières sur seine',' CD', 41)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Colombes',' tv',410)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Paris',' tv', 200)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Paris',' dvd', 1500)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Paris',' CD', 5000)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Paris',' Haut parleurs', 3000)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Paris',' Amplis', 200)
    INSERTINTO peuplier(Centre_dexploitation, Articles, nb_ventes)VALUES('Paris',' Enceintes', 1800)
    SELECT Centre_dexploitation,Articles,Nb_ventes FROM Peuplier AS B ORDERBY(SelectSum(Nb_ventes)From Peuplier AS A where A.centre_dexploitation = B.centre_dexploitation GroupBy Centre_dexploitation )DESC,Centre_dexploitation

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par ylarvor Voir le message
    ....From Peuplier...
    En plus vous ajoutez une touche artistique. , j'ai pas pensé à vous consulter plus tot.
    Mille mercis les amis.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec try except et try finally !?
    Par jano_dave dans le forum Débuter
    Réponses: 2
    Dernier message: 15/09/2009, 14h55
  2. [FAQ Algo] Qu'est-ce qu'un tri stable, un tri sur place
    Par mattj dans le forum Contribuez
    Réponses: 3
    Dernier message: 21/03/2007, 18h55
  3. [XSLT] Tri ascending OK, Tri descending KO
    Par SONY30 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 31/10/2006, 17h39
  4. le tri fusion ne tri pas.
    Par argon dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 27/06/2006, 23h08
  5. [struts][tri] tri Java ou tri SGBD ?
    Par Maximil ian dans le forum Struts 1
    Réponses: 9
    Dernier message: 19/04/2004, 22h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo