wpdb & wp_query 按 return 错误值排序
wpdb & wp_query order by return wrong values
我想从 wp_postmeta 按 DESC 顺序获得结果 values.i 使用此代码:
$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,则使用 meta_value
排序,那么值将是无序的。 (他们在这里订购的事实只是巧合)。
+ 0
这里把字符串转成数值然后排序
我想从 wp_postmeta 按 DESC 顺序获得结果 values.i 使用此代码:
$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,则使用 meta_value
排序,那么值将是无序的。 (他们在这里订购的事实只是巧合)。
+ 0
这里把字符串转成数值然后排序