[MySQL] Trier un résultat par ordre croissant ?

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 : [MySQL] Trier un résultat par ordre croissant ?

par zeus » 23 juin 2005, 17:25

Si tu appelle cette requete compliquée, attend de passer au jointure et autres sélection bizarre :lol:

mais sans vouloir te décourager

par Corentin » 23 juin 2005, 17:23

Oh mais t'inquiette le PHP sa fais deux ans que je suis converti, c'est juste que avec MySQL je fais toujours des requetes assez simple, c'est la premiere fois que je rencontre ce probléme

Merki pour ta précieuse aide

par zeus » 23 juin 2005, 17:10

Mais de rien

En esperant t'avoir converti au PHP :wink:

par Corentin » 23 juin 2005, 17:08

Ouep c'est vrai j'ai pas réfléchi

Merci c'est génial d'avoir des gens comme sa, on reconnais bien l'esprit PHP moi qui voulais faire de l'ASP (oups j'ai dit un gros mot)

Meeeeeerrrrrrrrkkkkkkkkkiiiiiiiiiiii !!!!

par zeus » 23 juin 2005, 17:06

C'est dommage car tu y était presque ASC veut dire ascendant, donc du plus petit au plus grand alors que DESC veut dire du plus grand au plus petit, sachant que si tu ne met rien, ASC est par défaut

Code : Tout sélectionner

SELECT * FROM `membres` ORDER BY CAST(`fiche_points` AS UNSIGNED) DESC LIMIT 0 , 30

par Corentin » 23 juin 2005, 17:04

Trop sympas, merci pour l'astuce ;)

Sa marche mais j'ai un autre petit probléme c'est que sa me donne les résultats par ordre croissant et non par ordre décroissant, je ne connais pas trop la syntaxe MySQL

par zeus » 23 juin 2005, 17:00

A 1ere vue, ton champ n'est pas de type int ou assimilé et il trie donc selon le 1er caractère, puis le 2nd, ...

essaye cette requete :

Code : Tout sélectionner

SELECT * FROM `membres` ORDER BY CAST(`fiche_points` AS UNSIGNED) LIMIT 0 , 30

[MySQL] Trier un résultat par ordre croissant ?

par Corentin » 23 juin 2005, 16:58

Salut,

Je posséde un site où les membres recoivent des points lorsqu'ils ajoutent des photos et articles au site. Je veux via un script PHP et une requete SQL que les membres soent affichés sur une page avec en haut celui qui posséde le plus de points et en bas celui qui en posséde le moins. Donc par ordre décroissant.

Donc voilà ma requete:
SELECT * FROM `membres` ORDER BY `fiche_points` ASC LIMIT 0 , 30
Le probléme c'est que MySQL ne comprends pas exactement ce que je veux faire car lorsque je fais celà MySQL me retourne que: 7 > 4 > 33 > 3 > 2 > 121 > 0

Voilà donc le probléme :(
Si qqn à l'astuce ?