Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1140 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Classement par rapport a un nombre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Classement par rapport a un nombre

n°1966262
t'inquete
Tapis à GOGO
Posté le 15-02-2010 à 19:44:20  profilanswer
 

Bonsoir,
 
D'un part, j'ai une table qui contient pour chaque membre, un nombre. De l'autre, un nombre de référence.
J'aimerais faire un classement des membres du plus proche au plus éloigné du nombre de référence et en fonction du membre, afficher son classement.
 
Voici, par exemple la table
 
id_membre  | nombre
--------------------
1              | 10
1              | 15
1              | 20
1              | 25
2              | 12
2              | 18
2              | 19
3              | 5
3              | 17
 
et le nombre de référence : 16
 
Pour l'instant j'ai pas écrit de code, je sais pas comment aborder la chose le plus simplement possible.
 
Merci pour vos suggestions.
 

mood
Publicité
Posté le 15-02-2010 à 19:44:20  profilanswer
 

n°1966295
flo850
moi je
Posté le 15-02-2010 à 20:30:38  profilanswer
 

ORDER BY valeur_absolue(nombre-16)  
 
valeur_absolue dépend de ton choix de sgbd ( mysql , postgresql , ... )


---------------

n°1966321
t'inquete
Tapis à GOGO
Posté le 15-02-2010 à 21:22:06  profilanswer
 

Merci pour ta réponse.
Je tourne sous mysql.

 

Pour que cela ne me retourne qu'un seul id_membre avec la valeur la plus proche, est-ce correct :

 

SELECT DISTINCT id_membre FROM table ORDER BY ABS(nombre-16)

 

?


Message édité par t'inquete le 15-02-2010 à 21:47:14
n°1966338
flo850
moi je
Posté le 15-02-2010 à 22:05:31  profilanswer
 

LIMIT 1


---------------

n°1966346
t'inquete
Tapis à GOGO
Posté le 15-02-2010 à 22:38:24  profilanswer
 

Y'a un truc bizarre.
Si je fais avec le LIMIT 1, il ne me retourne que l'ID le plus proche.
Si je mets le DISTINCT, j'ai un tri dans le désordre mais je n'ai plus que les 3 ID uniques.
Sans le DISTINCT, j'ai le tri dans l'ordre mais j'ai tous les ID qui se répètent.

Message cité 1 fois
Message édité par t'inquete le 15-02-2010 à 23:23:33
n°1966667
Pascal le ​nain
Posté le 16-02-2010 à 23:14:23  profilanswer
 

t'inquete a écrit :

Y'a un truc bizarre.
Si je fais avec le LIMIT 1, il ne me retourne que l'ID le plus proche.
Si je mets le DISTINCT, j'ai un tri dans le désordre mais je n'ai plus que les 3 ID uniques.
Sans le DISTINCT, j'ai le tri dans l'ordre mais j'ai tous les ID qui se répètent.


 
Euuuh... Oui, ce n'est pas bizarre...  :whistle:  
 
 
Le LIMIT limite le nombre d'enregistrements retournés. Avec LIMIT x, Les x premiers enregistrements correspondant à tes conditions sont retournés.
Le DISTINCT supprime les lignes identiques, pour éviter de retourner plusieurs fois la même ligne.
Et sans rien du tout, ca renvoie tout  :na:
 
Dans ton cas ce serait  
 
SELECT id_membre FROM table ORDER BY ABS(nombre-16) LIMIT 1
 
Le DISTINCT ne servirait à rien puisqu'on ne retourne que le premier...


Message édité par Pascal le nain le 16-02-2010 à 23:16:46
n°1967743
t'inquete
Tapis à GOGO
Posté le 19-02-2010 à 20:47:29  profilanswer
 

Bonsoir.

 

Le limit 1 m'affichera que l'ID le plus proche du nombre de référence.

 

Or, moi je souhaite qu'il y ait un classement de chaque ID et qu'il ne m'affiche que le nombre le plus proche du nombre de référence.

 

C'est pour ça que je pense devoir utiliser l'attribut DISTINCT pour ne pas afficher les nombres qui ne m'interessent pas. Et lorsque j'utilise le DISTINCT, ca enleve tous les ID inutiles, mais le tri se fait mal.


Message édité par t'inquete le 19-02-2010 à 22:04:20

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Classement par rapport a un nombre

 

Sujets relatifs
[ACCESS] Convertir un nombre au format HH:MM[VBA] Récupérer le nombre de pages d'une feuille
[PDO/SQL] Aide selection et classement (JOIN ??)Afficher le détail d'un enregistrement après un classement (PHP/MYSQL)
rendre la saisie obligatoire d'un nombre dans un champs[MYSQL]classement tounois
Conversion caractère -> nombre, erreurReconnexion d'un MDB, spécifier le nombre d'essais
[Résolu] [Jquery] ui droppable limiter nombre de droplire une suite de nombre séparé par une tabulation dans un fichier
Plus de sujets relatifs à : Classement par rapport a un nombre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR