Mysql AFIN de chiffres DESC
J'ai un simple mysql requête select dans mon code PHP:
$result = mysql_query("SELECT text FROM example ORDER BY rank DESC");
while($row = mysql_fetch_array($result))
{
echo $row['text'] . "<br>";
}
et cette table MySql:
text | rank
--------+--------
google | 245
--------+--------
yahoo | 32
--------+--------
bing | 12
Quand je reçois les résultats de la requête, quelque chose comme ça s'affiche:
yahoo
google
bing
Je veux de Google afin d'être en avant. Je suppose que Yahoo est d'abord parce qu'il commence par "3".
Comment pourrais-je faire une requête classer les résultats par la taille des numéros dans le rang?
Merci...
OriginalL'auteur Akos | 2011-11-04
Vous devez vous connecter pour publier un commentaire.
J'imagine que l'
rank
champ est une sorte de type de chaîne. En faire un type numériqueint
et il sera correctementPas de problème. Vous ne savez pas si vous aurez des questions de l'entretien de votre
rank
de données lors de la commutation de la colonne type. Si vous avez seulement ces 3 dossiers, de ne pas être quoi que ce soit, mais si vous en avez beaucoup, vous pouvez sauvegarder les données, et si elle se fait défoncer, vous pouvez exécuter un script, convertir toutes les valeurs, et réinsérez-les.J'ai été coincé dans le même problème merci nick Rolando
OriginalL'auteur Nick Rolando
La bonne solution, bien sûr, est d'utiliser le type de données correct. Comme une solution de contournement, vous pourriez lancer les données de nombre à la volée:
ou:
OriginalL'auteur Dimitre Radoulov
Quel est le type de données de
rank
dans votre schéma SQL? Définir un type numérique.OriginalL'auteur bcmcfc
Essayez ceci:
Et de voir si les rangs sont triés correctement.
OriginalL'auteur Neal
OriginalL'auteur SB24