Wordpress $ wpdb-> usermeta按meta_value排序

Vla*_*d.P 3 wordpress wpdb

我试图基于名为"points"的meta_key显示所有用户,如下所示:

$wpdb->get_col($wpdb->prepare("
SELECT user_id, meta_key = 'points', meta_value 
FROM $wpdb->usermeta 
ORDER BY meta_value DESC 
LIMIT $limit OFFSET {$paginate->offset()}"));
Run Code Online (Sandbox Code Playgroud)

用户显示正确,但顺序不起作用,meta_value等于从1到∞的数字.那么,我应该如何让它发挥作用?谢谢.

PS:这是输出:

Array ( [0] => 1 [1] => 2 [2] => 4 ) 
Run Code Online (Sandbox Code Playgroud)

所以我相信是按ID订购的.

Vla*_*d.P 6

SELECT user_id, meta_value FROM $wpdb->usermeta WHERE meta_key = 'points' ORDER BY CAST(meta_value AS SIGNED) DESC LIMIT
Run Code Online (Sandbox Code Playgroud)

CAST(meta_value AS SIGNED)将从LONGTEXT转换为INT.它现在有效.