我想基于一个叫做“点”这样的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()}"));

被适当地显示在使用者,但为了不工作,meta_value等于数字1到∞。所以,我应该怎么得到它的工作?感谢。

PS:这是输出:

Array ( [0] => 1 [1] => 2 [2] => 4 ) 

因此,我相信是由ID排序。

有帮助吗?

解决方案

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

<强> CAST(meta_value AS签名)将隐蔽从LONGTEXT到INT。它现在。

其他提示

如果我不是完全错误的关于MySQL,你必须添加的 meta_key =“点” 以where子句。 重写查询,为:

  

选择USER_ID,meta_value结果   从$ wpdb-> usermeta结果   WHERE meta_key = '分' 点击   ORDER BY meta_value DESC结果   $ LIMIT限制OFFSET {$ paginate->偏移()}

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top