Php 按数值对SQL语句中的行进行排序时不使用小数
下面的SQL语句对我的结果排序有些正确,但它没有考虑小数点。。。我该怎么做 37.5应位于顶部 选择*从wp_Posteta,其中meta_key=“win_percentage”按meta_值说明排序Php 按数值对SQL语句中的行进行排序时不使用小数,php,sql,Php,Sql,下面的SQL语句对我的结果排序有些正确,但它没有考虑小数点。。。我该怎么做 37.5应位于顶部 选择*从wp_Posteta,其中meta_key=“win_percentage”按meta_值说明排序 Array ( [0] => Array ( [meta_id] => 417 [post_id] => 59 [meta_key] => win_percentage
Array
(
[0] => Array
(
[meta_id] => 417
[post_id] => 59
[meta_key] => win_percentage
[meta_value] => 9.3023255814
)
[1] => Array
(
[meta_id] => 419
[post_id] => 62
[meta_key] => win_percentage
[meta_value] => 6.66666666667
)
[2] => Array
(
[meta_id] => 425
[post_id] => 64
[meta_key] => win_percentage
[meta_value] => 37.5
)
[3] => Array
(
[meta_id] => 433
[post_id] => 68
[meta_key] => win_percentage
[meta_value] => 36.5079365079
)
[4] => Array
(
[meta_id] => 421
[post_id] => 58
[meta_key] => win_percentage
[meta_value] => 32.8767123288
)
[5] => Array
(
[meta_id] => 423
[post_id] => 63
[meta_key] => win_percentage
[meta_value] => 16.6666666667
)
)
VARCHAR是一种字符串变量类型,因此它的排序方式就好像它是一个字符串一样。字符串中6在3之后,所以在对DESC进行排序时,它将首先出现 如果要将此特定列视为浮点数/小数点以进行排序,可以使用以下内容:
从wp_postmeta中选择*其中meta_key=“win_percentage”按铸造顺序(meta_值为浮动)描述
或者,无论您使用的数据库具有哪种数字类型:meta_value是哪种类型的字段?Float、decimal或varchar?它看起来像字符串排序…它的varchar这都在WordPress meta中,所以varchar几乎是强制的。