【发布时间】:2016-04-15 14:03:30
【问题描述】:
下面的 SQL 语句对我的结果进行了一些正确的排序,但它没有考虑小数点...我该怎么做?
37.5 应该在顶部。
SELECT * FROM wp_postmeta WHERE meta_key = "win_percentage" ORDER BY meta_value DESC
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
)
)
【问题讨论】:
-
meta_value是什么类型的字段?浮点数、小数还是 varchar?
-
看起来像字符串排序...
-
它的 varchar 都在 wordpresses 元中,所以 varchar 几乎是强制的。