MySql值没有按正确的值排列

时间:2017-11-12 09:35:52

标签: mysql sorting

我有一个Mysql表, 我想按照meta_value的大小从最大到最小对表中的值进行排序。

看看价值的顺序? 150,000,000如何小于1,555,555

enter image description here

1 个答案:

答案 0 :(得分:1)

Meta_value是CHAR列,而不是数字列。如果您的元值来自其他数据源,那么您将需要使用自然排序,并且可以使用ORDER BY LENGTH(alphanumeric), alphanumeric

如果您可以控制meta_value中的内容,则可以考虑将列数据类型修改为int或numeric或其他一些数字数据类型。然后你会得到你期望的那种。但是,使用现有数据更改数据类型存在遇到非标准数据的风险,因此您需要确切知道该列中的值。