[英]wpdb & wp_query order by return wrong values
我想通过DEC从wp_postmeta订单中获取结果的值。我使用以下代码:
$top_query = $wpdb->get_results("SELECT meta_value FROM wp_postmeta WHERE meta_key = 'sd_top_numbers' ORDER BY meta_value DESC");
foreach ($top_query as $details) {
echo $details->meta_value;
echo '<br/>';
}
输出!
8800
8900
9600
9700
15700
16200
我也尝试wp_query但结果相同。
$top_query = $wpdb->get_results("SELECT meta_value FROM wp_postmeta WHERE meta_key = 'sd_top_numbers' ORDER BY meta_value + 0 DESC");
如果您按meta_key
排序,并且所有记录的meta_key等于sd_top_numbers,请使用order by meta_value
,那么值将是无序的。 (它们在这里被排序的事实只是巧合)。
+ 0
在这里将字符串转换为数值,然后对其进行排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.