Partage
  • Partager sur Facebook
  • Partager sur Twitter

requête d'occurence

l'occurence la plus occurente

Sujet résolu
    24 novembre 2010 à 0:39:04

    Bonsoir,

    Je souhaiterais, sous mysql, obtenir dans une colonne de chaines de caractères, les mots-clés les plus utilisés.
    Auriez vous une idée sur la façon de procédé?
    Merci par avance.
    • Partager sur Facebook
    • Partager sur Twitter
      24 novembre 2010 à 1:05:33

      GROUP BY + ORDER BY COUNT(*)

      C'est impossible d'être plus précis sans plus d'informations.
      • Partager sur Facebook
      • Partager sur Twitter
        24 novembre 2010 à 1:33:09

        Pour faire simple, admettons que j'ai une table qui contient des prénoms et que je voudrais afficher ceux qui sont les plus utilisés, comment faire?

        • Partager sur Facebook
        • Partager sur Twitter
          24 novembre 2010 à 1:35:33

          Ben, GROUP BY + ORDER BY COUNT(*).

          Je sais pas à quoi tu t'attends si tu nous donnes ni structure des tables, ni jeu d'essai. Mais bon, avec les infos que je te donne, ça devrait normalement être suffisant pour que tu construises toi-même ta requête.
          • Partager sur Facebook
          • Partager sur Twitter
            24 novembre 2010 à 1:57:23

            Sa a l'aire bien ce que tu propose mais c'est le ORDER BY COUNT(*) dont je saisie mal le principe.
            Si je fait:

            SELECT DISTINCT prenom FROM bd_prenom GROUP BY prenom ORDER BY COUNT(prenom)

            Le COUNT ne va il pas me retourner le nombre total de prénoms dans la table?
            • Partager sur Facebook
            • Partager sur Twitter
              24 novembre 2010 à 1:59:10

              Non puisque tu as fait un GROUP BY. Note d'ailleurs que DISTINCT est inutile dans ce cas-ci puisque GROUP BY groupe déjà tous les prénoms identiques.
              • Partager sur Facebook
              • Partager sur Twitter
                24 novembre 2010 à 2:07:21

                Oui c'est exacte merci bien, pour ce début de piste, mais maintenant admettons que cette table contienne des noms composés comme "pierre-henry" et que je veuille prendre cette valeur en compte dans le nombre de "pierre" il faudrait que je me servent d'un like je présume?

                Mais cela impliquerait donc que je le fasse en plusieurs requêtes pour d'abord récupérer les prénom séparer les composés et vérifier avec un like pour chacun si il y en a plusieurs, sa me parait un peut lourd et brouillon surtout si la table en question est bien remplit, aurait tu une idée?
                • Partager sur Facebook
                • Partager sur Twitter
                  24 novembre 2010 à 2:17:33

                  Pourquoi ne donnes-tu pas ton vrai problème plutôt que tourner autour du pot ? Ça complique inutile les choses. Le nom "Pierre" est radicalement différent de "Pierre-Henry", pourquoi voudrais-tu les grouper ensemble ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 novembre 2010 à 2:27:15

                    Bon alors:

                    J'ai une base de données où sont inséré via un formulaire les adresse d'images uploadés sur le serveur et diverses descriptions (titre, nom de l'image, description, etc...)

                    A coter de cela j'ai une page qui permet de rechercher, par mot clés, donc avec un like, les correspondance avec les titres des images et d'affichés les adresse y correspondant.

                    Afin de permettre une recherche rapide, à coter du formulaire de recherche je souhaite ajouter les mots clés les plus utilisés dans les titres d'image, j'espère que cela t'auras donner quelques éclaircissements.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 novembre 2010 à 2:36:03

                      Quelle est la structure de ta table qui contient les images et celles qui contient les mots-clés ?

                      Si tu pouvais aussi fournir un jeu d'essai ainsi que le résultat attendu, ce serait bien.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 novembre 2010 à 3:07:53

                        Pour la structure la voici:

                        champ type
                        ID int(11
                        pseudo varchar(25)
                        adresse varchar(60)
                        depot datetime
                        visite int(11)
                        titre varchar(80)
                        description varchar(255)
                        tag varchar(20)
                        categorie int(1)
                        moyenne float
                        nb_comment int(11)
                        email_notif text
                        notifier int(1)


                        (les adresse et mots-clés sont donc dans la même sachant que les mots clés sont les titres)

                        adresse titre
                        img1.jpg img1
                        tas2.png img2
                        imag.gif image
                        vac.jpeg vacance
                        img.jpeg img
                        plage.jpeg vac
                        aze.jpeg aze



                        je voudrait donc que ressorte comme mot clés favorie:



                        1 img
                        2 vac
                        3 aze
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 novembre 2010 à 3:17:09

                          Déjà, ta conception laisse à désirer. Tu pourrais facilement normaliser en créant 4 ou 5 autres tables.

                          Sinon, je comprends pas du tout où tu veux en venir. Ton dernier post va dans un sens tout à fait différent que l'ensemble du topic (je vois pas du tout le rapport, en fait). Tu n'as apparemment pas de table pour stocker tes recherches, comment veux-tu sélectionner les mots-clés les plus recherchés ?

                          Visiblement, tu veux une simple requête avec un LIKE (que tu sembles déjà savoir faire), donc je vois pas où est le problème.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 novembre 2010 à 3:23:17

                            Non désoler j'ai du mal m'expliquer ce n'est pas du tout les recherches les plus fréquentes que je veut, mais les mots clés les plus fréquemment employés dans les titres.

                            EDIT: pour ce qui est de la table elle est déjà normaliser en plusieurs tables je l'ai juste alourdie pour la simplification d'un projet temporaire.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            requête d'occurence

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown