当我在数据库中的列上对desc / asc进行排序时,我遇到了一个问题,它会像这样对它进行排序。
9980
91
883
51
507
460
286
243
23
2131
现在我认为这是因为我制作了colum varchar。无论如何要将它正确排序而不将列更改为int?
由于
答案 0 :(得分:4)
如果您希望对项目进行排序,就好像它们是数字一样,cast将它们变为整数:
ORDER BY CAST (field AS SIGNED INTEGER)
答案 1 :(得分:1)
如果你必须:
ORDER BY CAST(`YOUR_COL` AS SIGNED)
表示DESC
ORDER BY CAST(`YOUR_COL` AS SIGNED) DESC