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 :

[MySQL] Requete de comptage


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [MySQL] Requete de comptage
    Bonjour,

    j'ai une table que j'ai obtenu à l'aide d'un select du type :

    select T1_numclient,T2_numclient,count(*) from (select .... union select ... union select ...)

    qui me retourne ce resultat sous mysql:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    +--------------+--------------+----------+
    | T1_numclient | T2_numclient | count(*) |
    +--------------+--------------+----------+
    |            1 |            6 |        3 |
    |            1 |            3 |        3 |
    |            1 |            2 |        2 |
    |            1 |            5 |        2 |
    |            1 |            4 |        1 |
    |            2 |            5 |        2 |
    |            2 |            1 |        1 |
    |            2 |            6 |        1 |
    |            2 |            3 |        1 |
    |            3 |            6 |        1 |
    |            4 |            5 |        2 |
    |            4 |            1 |        1 |
    |            4 |            6 |        1 |
    |            4 |            2 |        1 |
    |            4 |            3 |        1 |
    |            5 |            6 |        2 |
    |            5 |            3 |        2 |
    |            5 |            4 |        1 |
    |            5 |            1 |        1 |
    |            5 |            2 |        1 |
    |            6 |            1 |        1 |
    |            6 |            2 |        1 |
    |            6 |            4 |        1 |
    +--------------+--------------+----------+

    J'aimerais à partir de ce résultat obtenir ce type de résultat:

    1 | 6 | 4 car 1ere ligne et avant avant derniere ligne, on additionne les count.
    1 | 3 | 3
    1 | 2 | 3

    en clair pour toute la table faire :

    A | B | count(A|B)+count(B|A)


    Comment est ce que je peux faire celà ??

    Merci à tous
    Olivier

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye de remplacer GROUP BY T1_NumClient, T2_NumClient par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GROUP BY (T1_NumClient + T2_NumClient), ABS(T1_NumClient - T2_NumClient)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    merci mais dommage j suis pas chez moi pour essayer là ... Par contre j'arrive pas à comprendre véritablement le but d'additionner T1_numclient et T2_numclient et de calculer l'ecart entre T1_numclientt et T2_numclient pour ce que je veux faire

    Peut etre que t as des explications pour me mettre sur la voie

    merci

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bon j'ai réussi à le faire.

    Voilà la solution :

    ce qu'il faut c est que quand T2_NUMclient > T1_numclient inverser les colonnes, ainsi on peut ensuite faire un regroupement et additionner les count(*)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select case when a <= b then a else b end as c,case when a<=b then b else a end as d, sum(result_compte) 
      from ...  
     group by c,d;

  5. #5
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par olivgiov
    Peut etre que t as des explications pour me mettre sur la voie merci
    Essaye

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

Discussions similaires

  1. EXPORT mysql, requete BACKUP
    Par kichemans dans le forum Administration
    Réponses: 6
    Dernier message: 28/12/2005, 17h02
  2. [C#/MySQL] Requete conditionelle
    Par vincent.e dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/12/2005, 17h51
  3. [mySQL]Requete qui prend 100 % du CPU et n'aboutit pas
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 20
    Dernier message: 12/10/2005, 09h36
  4. Réponses: 19
    Dernier message: 01/04/2004, 14h41
  5. Requete de comptage de doublons spéciale
    Par COliveOnTheNet dans le forum Langage SQL
    Réponses: 3
    Dernier message: 08/09/2003, 10h11

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