Trier bdd sur plusieurs champs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Trier bdd sur plusieurs champs

par Grantome » 12 sept. 2007, 15:28

Ok, merci.

par Ryle » 07 sept. 2007, 15:12

Tu dois pouvoir faire une requête avec un distinct des libellés, un sum des nombre que tu appliques à 4 sous requêtes qui liste les couples libellés/nb, avec union pour regrouper les 4 champs en 1...

Enfin ceci dit, à réaliser, à maintenir, à faire évoluer, tu arais tout intérêt à revoir la structure de ta base comme le suggère iclo

par iclo » 07 sept. 2007, 15:07

Y a bien de recréer une table, mais bon... :roll:
Oui, avoir une table avec les champs principaux (id,nom,..) et une autre table avec mot et nb_mot et le champ id faisant le lien avec l'autre table.
tu auras donc un enregistrement dans la première table avec les id et nom, et quatre enregistrement dans la deuxième tables, un pour chaque mots.
C'est la seule solution propre et optimisée que je vois.

par Invité » 07 sept. 2007, 14:51

Y a bien de recréer une table, mais bon... :roll:

par Invité » 07 sept. 2007, 14:50

Bas je ne peut pas changer ma struture parce qu'il y a d'autre champs

en gros:
id | nom | mot1 | etc...

Chaque nom à ces 4 mots et leur nombre
et je souhaite faire un classement des mots qui reviennent le plus.

par iclo » 07 sept. 2007, 13:30

Très honnêtement, c'est vraiement pas génial comme structure de table.
Il vaudrait vraiement mieux avoir deux champ : mots et nombre de mots, et donc avoir un enregistrement par mots.

Avec une telle structure ce que tu souhaites faire devient enfantin.

Trier bdd sur plusieurs champs

par Grantome » 07 sept. 2007, 12:26

Bonjour,

Voilà, aujourd'hui, j'arrive pas à réfléchir...
Donc je viens vers vous. Mr. Green

J'ai une bdd avec 8 champs
mot1 | nb_mot1 | mot2 | nb_mot2 | mot3 | nb_mot3 | mot4 | nb_mot4

dans chaque champs "motx", on peut avoir un seul mot, mais il peut-être le même et le champs nb_motx, c'est le nombre de fois qu'on l'a rencontré, exemple :

tortue | 8 | maison | 1| chanson | 14 | mois | 3
journal |5| mois | 6 | aviation | 2 | image |10

Je souhaiterais pouvoir faire un classement de tous les champs motx en fonction des champs nb_motx
chanson -> 14
images -> 10
mois -> 9
tortue -> 8
journal -> 5
aviation -> 2
maison -> 1

Et tout ça sans prendre en compte ni majuscule, ni accent.

Merci de votre aide