用于对wordpress usermeta数据进行排序的MYSQL查询

时间:2010-11-08 04:09:38

标签: mysql wordpress sorting metadata

您好我正在尝试对wordpress usermeta数据库进行查询,以获取具有自定义meta_name和值的所有用户。自定义名称/值是分数(整数)。我需要带回得分最高的用户,并将查询限制为5个结果。

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

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

为什么没有在数组中正确排序它们的任何想法?

2 个答案:

答案 0 :(得分:1)

您可能希望先将其转换为整数,即

ORDER BY CAST(meta_value AS SIGNED) DESC

请参阅CAST()

答案 1 :(得分:1)

您好 @estern:

WordPress“meta_value字段为longtext,因此除非您将其转换为一个数字,否则不会将其排序为一个,因此请更改ORDER BY

ORDER BY meta_value DESC

对此:

ORDER BY CONVERT(meta_value,UNSIGNED) DESC

希望这有帮助。

-Mike

P.S。下次需要WordPress帮助时,您可能想查看StackOverflow的姐妹网站WordPress Answers。很多WordPress爱好者都在那里回答你的WordPress问题。