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 :

classer en fonction du nombre de valeurs identiques


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Points : 81
    Points
    81
    Par défaut classer en fonction du nombre de valeurs identiques
    bonjour,

    j'aimerais savoir comment classer une bd sql en fonction du nombre de valeur identique

    en clair j'ai un menu qui liste les catégories contenu dans ma table de données, chaque fiches de ma bd à une catégorie.

    ainsi mon menu ne liste que les catégories ou il y a un élément, seulement j'aimerais que les catégories ou il y a le plus d'éléments soit en premier par rapport au catégories ou il y en à moins.

    Je pensse qu'il faudrait utiliser order by et count mais je ne sais pas comment assembler ces éléments

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select count(pr_type) as NB_total  from produits 
    group by pr_type order by NB_total DESC

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Points : 81
    Points
    81
    Par défaut
    salut,

    Merci de ton aide, mais j'ai tenter d'essayer ton code, le pb c'est que je n'ai pas d'erreur mais rien ne s'affiche dans ma collone catégorie :

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_genre = mysql_query("SELECT count(site_genre) AS NB_total  FROM gallery GROUP BY site_genre ORDER BY NB_total DESC; ");
    Les données sont affiché ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    			while ($donnees = mysql_fetch_array($query_genre) )
    			{
    				?>
    				<a href="index.php?genre=<?php echo $donnees['site_genre']; ?>&langue=<?php echo $langue; ?>"><?php echo $donnees['site_genre']; ?></a><br>
    				<?php
    			}
    			?>
    Je ne sais pas si je dois modifier la façon d'appeller mes données

  4. #4
    Membre régulier Avatar de B.Moncef
    Étudiant
    Inscrit en
    Août 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 75
    Points : 88
    Points
    88
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT champ_categorie, count(pr_type) AS NB_total  FROM produits 
    GROUP BY champ_categorie ORDER BY NB_total DESC
    Pour ta catégorie tu affiches :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $donnees['champ_categorie']
    Bien entendu tu remplaces toutes les occurrences de champ_categorie par le nom du champ qui contient ta catégorie dans la table.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Points : 81
    Points
    81
    Par défaut
    j'ai bien fait comme tu ma dis mais j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL
    j'en conclu que ma requete est incorrect

    voici la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     SELECT site_genre, count(pr_type) AS NB_total  FROM gallery 
    GROUP BY site_genre ORDER BY NB_total DESC
    j'ai cru un moment que c'était a cose de la virgule aprés site_genre mais non, même sans, sa ne marche pas, j'ai vraiment essayé pas mal de truc mais rien ne marche

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 118
    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 118
    Points : 28 507
    Points
    28 507
    Par défaut
    Syntaxiquement, ta requête SQL est correcte.
    C'est donc du côté de ton programme qu'il faut que tu recherches l'erreur.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Points : 81
    Points
    81
    Par défaut
    j'aimerais dans se cas juste savoir si pr_type est une valeur défini ou aléatoire que je dois préciser par rapport à un élément de ma base et dans le cas contraire qu'elle est sa fonction et surtout savoir si je peus afficher mes catégories en appellant cette requete avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($donnees = mysql_fetch_array($query_genre) )

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 118
    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 118
    Points : 28 507
    Points
    28 507
    Par défaut
    Citation Envoyé par Overstone Voir le message
    j'aimerais dans se cas juste savoir si pr_type est une valeur défini ou aléatoire que je dois préciser par rapport à un élément de ma base et dans le cas contraire qu'elle est sa fonction et surtout savoir si je peus afficher mes catégories en appellant cette requete avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($donnees = mysql_fetch_array($query_genre) )
    Tu peux essayer de le faire un peu plus clair ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Points : 81
    Points
    81
    Par défaut
    ok

    en faite j'aimerais juste savoir si je dois définir "pr_type" ou le laisser t'elle qu'elle ?

    et si je peus appeller cette requete avec la boucle ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($donnees = mysql_fetch_array($query_genre) )

  10. #10
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 118
    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 118
    Points : 28 507
    Points
    28 507
    Par défaut
    Qu'est ce que pr_type ? Ce n'est pas une colonne de ta table gallery ?

    Pour le reste de ta question, ce n'est pas sur le forum Langage SQL que tu recevras la réponse.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Points : 81
    Points
    81
    Par défaut
    non je me demande justement si pr_type est une fonction de sql ou un element qui doit se trouver dans ma table ?

    pour le reste je vais essayer de me debrouiller, merci de ton aide

  12. #12
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 118
    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 118
    Points : 28 507
    Points
    28 507
    Par défaut
    Si tu avais lu ces règles avant de poster sur ce forum, tu aurais donné la structure de ta table et reçu des réponses répondant à ton problème...

  13. #13
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par Overstone Voir le message
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_genre = mysql_query("SELECT count(site_genre) AS NB_total  FROM gallery GROUP BY site_genre ORDER BY NB_total DESC; ");
    Citation Envoyé par Overstone Voir le message
    voici la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     SELECT site_genre, count(pr_type) AS NB_total  FROM gallery 
    GROUP BY site_genre ORDER BY NB_total DESC
    Citation Envoyé par Overstone Voir le message
    non je me demande justement si pr_type est une fonction de sql ou un element qui doit se trouver dans ma table ?
    Apparemment non, l'exemple qui t'as été donné contenait pr_type que tu devais remplacer par le champ qui te convient et qui est apparemment site_genre.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 240
    Points : 81
    Points
    81
    Par défaut
    c'était pas si dur que sa finalement, je me suis vraiment pris la tête pour rien, tout marche parfaitement !!

    Au cas ou voici le bon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT site_genre, count(site_genre) AS NB_total  FROM gallery GROUP BY site_genre ORDER BY NB_total DESC

    site_genre : la collone que l'on veut classer
    NB_Total : Affiche le nombre d'élément qu'il y a dans chaque collone
    FROM gallery : La table

    la virgule est importante, ce que j'ai en faite oublié ^^

    Merci pour votre aide en tout cas

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

Discussions similaires

  1. [XL-2010] Comment compter le nombre de valeur identique dans un sheet.
    Par zoltix dans le forum Excel
    Réponses: 4
    Dernier message: 24/04/2011, 00h06
  2. [WD-2003] Compter le nombre de valeurs identiques dans un tableau word
    Par borocam dans le forum VBA Word
    Réponses: 4
    Dernier message: 20/01/2010, 19h19
  3. [MySQL] Compter le nombre de valeurs identiques dans une colonne d'une table
    Par luca120 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/12/2009, 01h40
  4. Réponses: 5
    Dernier message: 12/12/2006, 15h09
  5. Nombre de valeurs identiques
    Par thierrybatlle dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 12h39

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