Mysql 不使用Select语句对列进行排序

Mysql 不使用Select语句对列进行排序,mysql,wordpress,sorting,Mysql,Wordpress,Sorting,我是新来的,我已经到处找过了。对不起,如果这个问题是重复的 我修改了Wordpress页面以从wpdb返回自定义结果。该表有9列,最后两列来自数学计算,因此数据库中实际上没有存储任何内容。我想按最后两列对DESC进行排序,但不确定如何进行排序,因为SELECT语句中没有计算DESC 第一列自动对行进行编号。接下来的6列从wp_posts表中检索信息 最后两列(我想按其排序)是使用存储在wp_posteta中的元数据计算的 这是SELECT语句: $sql = "SELECT * FROM wp_

我是新来的,我已经到处找过了。对不起,如果这个问题是重复的

我修改了Wordpress页面以从wpdb返回自定义结果。该表有9列,最后两列来自数学计算,因此数据库中实际上没有存储任何内容。我想按最后两列对DESC进行排序,但不确定如何进行排序,因为SELECT语句中没有计算DESC

第一列自动对行进行编号。接下来的6列从wp_posts表中检索信息

最后两列(我想按其排序)是使用存储在wp_posteta中的元数据计算的

这是SELECT语句:

$sql = "SELECT * FROM wp_posts WHERE post_type = 'eafl_link' AND post_status = 'publish'"; $result = $wpdb->get_results($sql) or die(mysql_error());
以下是HTML表格中的结果:

     echo "<tbody><tr>";
 echo "<td class='center'>" . $counter . "</td>"; 
 echo "<td class='center'>" . "<a href=\"" . $results->post_name . "\" . target='_blank'>"    . $results->post_title . '</a>' . "</td>";
 echo "<td class='center'>" . date("Y/m/j", strtotime($results->post_modified)) . "</td>";
 echo "<td class='center'>" . get_post_meta( $results->ID,'claim-eafltime',true) . "</td>";
 echo "<td class='center'>" . get_post_meta( $results->ID,'claim-eaflmin',true) . "</td>";
 echo "<td class='center'>" . get_post_meta( $results->ID,'claim-eaflmax',true) . "</td>";
 echo "<td class='center'>" . get_post_meta( $results->ID,'claim-eaflref',true) . "</td>";
 echo "<td class='center'>" . round(get_post_meta( $results->ID,'claim-eaflmin',true)*get_post_meta( $results->ID,'claim-eaflref',true))/100 . "</td>";
 echo "<td class='center'>" . round(get_post_meta( $results->ID,'claim-eaflmin',true)*get_post_meta( $results->ID,'claim-eaflref',true)/get_post_meta( $results->ID,'claim-eafltime',true))/100 . "</td>";
echo”“;
“回声”$柜台""; 
“回声”。"' . "";
echo“.date(“Y/m/j”,strottime($results->post_modified))”;
echo“.get_post_meta($results->ID,'claim-eafltime',true)”;
echo“.get_post_meta($results->ID,'claim-eaflmin',true)”;
echo“.get_post_meta($results->ID,'claim-eaflmax',true)”;
echo“.get_post_meta($results->ID,'claim-eaflref',true)”;
echo“.round(get_post_meta($results->ID,'claim-eaflmin',true)*get_post_meta($results->ID,'claim-eaflref',true))/100。”;
回显“.round(get_post_meta($results->ID,'claim-eaflmin',true)*get_post_meta($results->ID,'claim-eaflref',true)/get_post_meta($results->ID,'claim-eafltime',true))/100。”;
最后两列生成正确的数据,但我想按照返回值DESC对整个表进行排序

正如我所说的,我在这方面非常非常新,我觉得自己很幸运,表和数学甚至可以工作——能够通过一个或多个列最初排序将是锦上添花。

此外,我可能容易受到SQL注入、流感和其他一切因素的影响。建议您多多指教


谢谢大家。任何帮助都将不胜感激。

“9列”,“最后2列是数学计算”,“数据库中实际上没有存储任何内容”。但选择“SELECT*…”。这意味着您将数据存储在wp_posts中,至少导出计算值,最后的字段必须有名称,您可以在SQL字符串末尾使用这些名称,如“ORDER BY lastField1 DESC,lastField2 DESC.@smozgur感谢您的回复。我之前在wp_posts表中使用了以下带有虚拟列的SELECT语句来测试该数学,它运行良好:“code”trim(round(round(claim_min*claim_ref)/100)+0为最佳,trim(round(claim_min*claim_ref/claim_time)/100)+推荐0…..按推荐说明订购,最佳说明“;”正如您所说,“代码”在SELECT中起作用,但仅当我查询wp_posts表时才起作用。是否有方法对其重新编码,以便它从wp_metaposts表的相应列中选择并应用数学计算?我更喜欢从那个表中提取。我不熟悉wp表的结构,我试图通过查看您发布的查询来帮助您。假设wp_metaposts表有一个与posts表中的id匹配的键:所以您只需要创建一个连接,从meta表中获取必要的字段,并根据需要进行计算。如果我知道表格结构和你的数学知识,我可能会这么做,但我只是注意到你问题中的wordpress标签。也许一位WordPress专家能帮上大忙。