首页 > 解决方案 > 按总分 ASC 排序

问题描述

我无法摆脱问题并希望得到您的帮助。

这就是我想简要介绍的;

表 A 中有招聘信息,这些招聘信息在表 B 中有评级。当我列出招聘信息时,我想按最高百分比列出招聘信息。

$query = $db->query("SELECT job_listing.id,
        FROM job_listing
            LEFT JOIN job_order_ratings ON job_order_ratings.job_id = job_listing.id
        WHERE job_listing.job_status = 2 
        ORDER BY *** ASC")->fetchAll(PDO::FETCH_ASSOC);

成绩表

我通常以这种方式计算工作的评分等级。我想在列出时根据总费率列出积分

public function rateTotal($rate1, $rate2, $rate3, $count= '')
{
      $rate_total = $rate1 + $rate2 + $rate3;
      $total = $rate_total / $count;
      return number_format(round(($total / 3), 1), 1, '.', '');
}

既然有三个评分,我把它分成最后三个

当我在 sql 查询中列出职位发布时,我希望它按百分比列出。它必须像我在 rateTotal 函数中那样计算。

我很抱歉我的英语不好

标签: php

解决方案


$sql = "SELECT
              job_listing.id,
              FORMAT((SUM(column1 + column2 + column3)/ COUNT(column)) / 3, 2) AS 'rating
        FROM job_listing
        LEFT JOIN job_order_ratings ON job_order_ratings.job_id = 
                 job_listing.id
    WHERE job_listing.job_status = 2 ORDER BY job_order_ratings.field DESC"

你试过这种方法吗?当你使用 ASC(升序)时,你会从小到大排列数字,如果你使用 DESC(降序)是从大到小数字 10,9,8,7,6,5...


推荐阅读