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 :

Compter le nombre d'apparition d'une valeur.


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 117
    Points : 67
    Points
    67
    Par défaut Compter le nombre d'apparition d'une valeur.
    Bonjour,

    Mon titre n'est pas très clair, je suis désolé j'ai vraiment du mal à définir mon besoin simplement

    Je possède différentes tables ordonnées comme ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    id1  data id2 
     0     a     2
     1     a     2
     2     b     3
     3     b     1
     4     c     2
    Je souhaite donc simplement récupérer le nombre de fois qu'apparait chaque "id2" dans la table

    Dans ce cas la le résultat serait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    id2   nombre d apparition
     2                3
     1                1
     3                1
    J'ai réussi à coder ça en php qui crée donc un tableau résultat comme ça en incrémentant un compteur à chaque fois qu'il croise id2 ou en créant une nouvelle ligne si il n'existe pas.

    Toutefois je me suis heurté aux limites mémoires des serveurs sur lesquelles je travaille, de plus les temps d'exécutions sont atroce (plus de 10 min pour voir l'erreur s'afficher).


    Alors voilà je me suis dit que c'était peut être possible en mysql , et surtout plus optimisé que le bousin que j'ai pu faire.
    Mais mes connaissances en mysql sont assez "limité" et vu ma difficultés à trouver QUOI chercher dans google je me tourne vers vous.

    Comment faire donc ... "cela" avec une ou plusieurs requêtes mysql ?

    Merci d'avance

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 046
    Points
    34 046
    Billets dans le blog
    14
    Par défaut
    La fonction COUNT est faite pour ça !
    Associée au GROUP BY, elle comptera chaque valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT id2, COUNT(*) AS nbre_apparition
    FROM la_table
    GROUP BY id2
    Soit 3 lignes de SQL au lieu de combien de lignes en php ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,

    Merci infiniment pour votre réponse !
    C'est "un peu" plus rapide mais surtout j'ai plus besoin de doubler la mémoire attribué à mes scripts php tout les jours !

    Ca m'enlève une sacrée épine du pieds, merci encore pour la réponse claire et rapide !

    Cdt.

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    Je rebondis sur cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT id2, COUNT(*) AS nbre_apparition
    FROM la_table
    GROUP BY id2
    C'est tout nouveau pour moi, et je n'arrive pas à afficher le résultat en php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    id2   nombre d apparition
     2                3
     1                1
     3                1
    Quelqu'un aurait une explication, ou un coup de pouce?

    Merci!

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

Discussions similaires

  1. [XL-2010] Compter le Nombre d'occurences d'une valeur dans une colonne
    Par smer38 dans le forum Excel
    Réponses: 3
    Dernier message: 10/06/2014, 18h48
  2. [XL-2007] PRECISION Compter le nombre d'apparition d'une sequence
    Par Loganchab dans le forum Excel
    Réponses: 1
    Dernier message: 25/01/2014, 18h11
  3. Réponses: 5
    Dernier message: 28/06/2013, 20h11
  4. Compter le nombre d'occurences d'une valeur
    Par snorky94 dans le forum VBScript
    Réponses: 2
    Dernier message: 03/06/2013, 15h41
  5. Compter le nombre d'apparitions d'une valeur
    Par dynexd dans le forum Access
    Réponses: 4
    Dernier message: 07/04/2006, 01h30

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