SELECT * FROM `member` ORDER BY `posts` DESC LIMIT 5
J'ai ce petit extrait, et il devrait juste trier la liste par la quantité de messages que l'utilisateur a par là.ORDER BY number_column DESC: pourquoi un plus petit nombre vient-il avant un plus grand?
Pour une raison quelconque, un utilisateur avec 4 messages vient avant un utilisateur avec 24 messages. Est-ce parce qu'il le fait seulement selon le premier chiffre? Comment puis-je réparer ça?
posts
est une colonne varchar
contenant des nombres.
J'ai 7 utilisateurs dans la base de données pour les tests, un avec 24 messages, un avec 21 messages, un avec 4 messages, et quatre avec 0 messages. Il trie 4> 24> 21> 0> 0.
Est-ce que les messages sont numériques? Montrez-nous le ddl et des exemples de données! – Jens
Est-ce que 'posts'' INTEGER'? – bishop
Heh, @Jens merci. J'ai fait une erreur stupide et l'ai fait comme un texte dans la base de données, juste réparé. J'ai continué à dépasser le code et je n'arrivais pas à le comprendre. –