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 :

Nombre d'occurrence exacte "Pertinence"


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 115
    Par défaut Nombre d'occurrence exacte "Pertinence"
    Bonjour,

    j'ai un problème pour trier des résultats récupérés, je veux bien les trier par rapport au nombre d'occurrences dans une base de données.

    pour ce fait j'utilise la solution de la pertinence en comptant le nombre d'occurrence dans des différents champs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ExampleID,Title,match (q.title , q.corps, q.key)
    Against ("Essai" ) as Pertinence 
    FROM Example q
    j'ai une pertinence par exemple de :

    - 4,3656816482544 pour Essai existe 5 fois au champ
    - 3,8368799686432 pour Essai existe 3 fois au champ
    - 3,17600440979 pour Essai existe 2 fois au champ
    - 2,554619550705 pour Essai existe 1 fois au champ

    je ne sais pas est ce qu'il y a une façon de faire pour avoir le nombre exacte d'occurrence de la chaine recherchée .

    MErci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Par défaut
    Bonjour,

    Personnellement je ferai un truc de ce genre la, mais je suis pas sur que sa marche, mais pas du tout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT ExampleID,Title
    FROM Example q
    ORDER BY
    (
      SELECT count(*) FROM
      (
        SELECT *  FROM Example q1 WHERE (q1.ExampleID=q.ExampleID && q1.title LIKE '%Essai%') 
        UNION ALL
        SELECT *  FROM Example q2 WHERE (q2.ExampleID=q.ExampleID && q2.corps LIKE '%Essai%') 
        UNION ALL
        SELECT * FROM Example q3 WHERE (q3.ExampleID=q.ExampleID && q3.KEY LIKE '%Essai%') 
      )
    );

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

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