gpt4 book ai didi

php - ORDER BY number_column DESC : why does a smaller number come before a larger?

转载 作者:行者123 更新时间:2023-11-30 23:48:30 24 4
gpt4 key购买 nike

SELECT * FROM `member` ORDER BY `posts` DESC LIMIT 5

我有这个小片段,它应该只是按照用户拥有的帖子数量对列表进行排序。

出于某种原因,拥有 4 个帖子的用户排在拥有 24 个帖子的用户之前。是因为它只根据第一个数字吗?我该如何解决这个问题?

posts 是一个包含数字的 varchar 列。

我在数据库中有 7 个用户进行测试,一个有 24 个帖子,一个有 21 个帖子,一个有 4 个帖子,四个有 0 个帖子。它将它排序为 4 > 24 > 21 > 0 > 0。

最佳答案

看来你的posts字段是一个字符串。

因此,尝试这样做以将其作为整数进行排序。

 ORDER BY CAST(posts AS INTEGER) DESC

这应该得到正确的排序。

当然,正如@Jens 所指出的,您可能更聪明地修改列定义。

关于php - ORDER BY number_column DESC : why does a smaller number come before a larger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24918270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com