2010-11-08 84 views
0

您好我试图做一个查询反对wordpress usermeta数据库,以获得所有用户具有自定义meta_name和值分配。自定义名称/值是分数(整数)。我需要带回最高分的用户,并将查询限制为5个结果。MYSQL查询排序WordPress的usermeta数据

我有一份工作声明,但它希望对它们进行正确排序。

$gather_top_users = "SELECT * FROM ".$wpdb->prefix."usermeta WHERE meta_key='points' ORDER BY meta_value DESC LIMIT 5 "; 

任何想法为什么这不正确地排序他们在数组中?

回答

1

你可能想将其转换为整数第一即

ORDER BY CAST(meta_value AS SIGNED) DESC 

CAST()

1

@estern:

WordPress的meta_valuelongtext所以不会排序作为一个数字,除非你把它转换成一个,所以从这里改变你的ORDER BY

ORDER BY meta_value DESC 

要这样:

ORDER BY CONVERT(meta_value,UNSIGNED) DESC 

希望这有助于。

-Mike

P.S.下次您需要WordPress帮助时,您可能需要查看StackOverflow的姊妹网站WordPress Answers。许多WordPress爱好者都在那里为您解答WordPress问题。