0

我想在 PHP 中计算 mysql 结果的平均值(我使用 CodeIgniter 作为框架)。我的(模型)代码:

    $query = $this->db->query('SELECT stars FROM feedback');
    $res = $query->result_array();
    $avrage = array_sum($res); // The impossible part
    $avrage = round($avrage,0);

查询结果如下所示:(print_r)Array ( [0] => Array ( [stars] => 5 ) [1] => Array ( [stars] => 3 ) )

我只希望 '5' 和 '3' 在一个单独的数组中,所以 array_sum() 可以完成它的工作。我该怎么做呢?

谢谢。

4

3 回答 3

2

您可以使用AVG()直接在 SQL 中执行此操作

SELECT avg(stars) as avg_stars
FROM feedback
于 2013-08-31T18:18:51.833 回答
0

为什么不AVG直接在查询中使用?

'SELECT AVG(stars) as average FROM feedback'
于 2013-08-31T18:19:03.233 回答
0

最好的方法是修改您的 SQL 查询,如下所示SELECT AVG(stars) as stars_average FROM feedback:然后,在获取结果集后,您可以在 PHP 代码中执行以下操作$average = $res[0]['stars_average'];

于 2013-08-31T18:23:13.887 回答