Comment trier par pertinance en MYSQL ?
davidbdjt
Messages postés
9
Statut
Membre
-
productif Messages postés 39 Statut Membre -
productif Messages postés 39 Statut Membre -
Bonjour,
je mexlique :
jai une table "contenu" contenu 1 champ "mot".
enregistrement 1 : f u h k
enregistrement 2 : b c f g
enregistrement 3 : b a c d e
enregistrement 4 : c k i
Je recherche par ordre de pertinance les mot "b a c"
Quel sera la requete SQL qui me renverra dans l'ORDRE
enregistrement 3 : b a c d e (3 element trouve)
enregistrement 2 : b c f g (2 element trouve)
enregistrement 4 : c k i ( 1 element trouve)
enregistrement 1 : f u h k (0 element trouve)
MERCI POUR VOTRE AIDE
je mexlique :
jai une table "contenu" contenu 1 champ "mot".
enregistrement 1 : f u h k
enregistrement 2 : b c f g
enregistrement 3 : b a c d e
enregistrement 4 : c k i
Je recherche par ordre de pertinance les mot "b a c"
Quel sera la requete SQL qui me renverra dans l'ORDRE
enregistrement 3 : b a c d e (3 element trouve)
enregistrement 2 : b c f g (2 element trouve)
enregistrement 4 : c k i ( 1 element trouve)
enregistrement 1 : f u h k (0 element trouve)
MERCI POUR VOTRE AIDE
A voir également:
- Comment trier par pertinance en MYSQL ?
- Comment trier par ordre alphabétique sur excel - Guide
- Logiciel pour trier les photos automatiquement - Guide
- Mysql community server - Télécharger - Bases de données
- Vba trier colonne par ordre croissant - Forum VB / VBA
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? ✓ - Forum Bureautique
1 réponse
A moins que les mots à chercher "b a c" soient toujours les mêmes, le plus judicieux est certainement de créer une fonction stockée MySQL qui renvoie le nombre d'éléments trouvés en fonctions des deux ensembles de mots :
Cette fonction doit renvoyer le nombre de mots trouvés dans chaine_a_explorer, où chaine_mots_recherches contient les mots recherchés.
La requête SQL qui renverra le résultat recherché sera du genre:
CREATE FUNCTION nb_elements(chaine_a_explorer VARCHAR(50), chaine_mots_recherches VARCHAR(50)) RETURNS INTEGER BEGIN ... END
Cette fonction doit renvoyer le nombre de mots trouvés dans chaine_a_explorer, où chaine_mots_recherches contient les mots recherchés.
La requête SQL qui renverra le résultat recherché sera du genre:
SELECT ... FROM contenu... WHERE ... ORDER BY nb_elements(mot, 'a b c') DESC