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

Requêtes MySQL Discussion :

COUNT et SUM


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut COUNT et SUM
    Bonjour,
    j'ai une table dont je voudrais extraire un pourcentage en fonction des données qui sont a 0 ou 1 et d'un datax :

    uid|data|datax
    0|0|56
    1|0|56
    2|1|56
    3|0|56
    4|1|56
    5|1|56
    6|1|56
    7|1|30
    8|0|45

    etc ...

    je voudrais pouvoir sortir le pourcentage des datas qui sont a 1 et le pourcentage de ceux qui sont a 0 pour le datax qui est (par ex) a 56
    J'utilise cette requête pour l'instant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT COUNT( data) AS somme,COUNT(*)*100/count(*) AS pourcentage, data AS resultat FROM table WHERE ( dataX = 56) GROUP BY data
    j'obtiens bien un tableau avec :

    Somme | pourcentage |resultat
    3 |100.00|0
    4 |100.00|1

    Mais j'aimerais avoir dans ce cas :

    pourcentage | entrées totales en fonction de datax:
    40 (%) |7 (count de toutes les entrées)
    60 (%) |7 (count de toutes les entrées)

    j'ai essayé d'y intégrer la fonction SUM mais ça ne fonctionne pas ...
    Quelqu'un peut m'aider ?

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    C'est bien un sum() qu'il faut utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select count(*), sum(data)/count(*) as pct_1, (count(*) - sum(data))/count(*) as pct_0
    from ma_table
    where dataX = 56
    GROUP BY DATA

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Bonjour, merci pour votre reponse , j'ai fais le test mais j'obtiens :
    count(*) pct_1 pct_0
    10 0.0000 1.0000
    15 1.0000 0.0000

    le SUM fait en fait je pense la somme des 0 et/ou des 1 , ca ne donne pas le pourcentage .

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    oui il fait ca.

    ah oui la coquille est en fait dans le group by, j'ai recopier betement votre code.



  5. #5
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Ceci dit, s'il filtre avec WHERE dataX = 56, GROUP BY dataX ne sert plus à grand chose.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci !.. c'est nickel.

Discussions similaires

  1. différence entre count et sum
    Par canary dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/06/2009, 09h35
  2. count ou sum
    Par 450748 dans le forum MySQL
    Réponses: 2
    Dernier message: 11/12/2008, 10h51
  3. select + count() ou SUM + jointure
    Par gilles974 dans le forum Requêtes
    Réponses: 6
    Dernier message: 31/10/2008, 13h58
  4. Mixer count et sum avec des champs différents
    Par olibara dans le forum Langage SQL
    Réponses: 11
    Dernier message: 27/06/2008, 11h24
  5. [SQL] Erreur repetitive sur requete SQL (Count et Sum)
    Par hools dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/06/2007, 11h57

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