将整列除以列数

时间:2018-12-03 17:49:39

标签: php codeigniter phpmyadmin

我试图将整个列(数据)除以column(5)的数目,然后将其插入另一列(数据平均值):

数据:20 12 32 12 32

数据平均值:20/5 12/5 32/5 12/5 32/5

我可以使用查询:

update data set data_average = data / 5;

它可以工作,但是我知道当我向data列中添加更多数据时,它将不再是/ 5。

所以我尝试使用查询来动态地使其:

select count(*) as count from table

但是我无法像

那样进入第一个查询
update data set data_average = data / count;

如何将其除以计数?

1 个答案:

答案 0 :(得分:0)

MySQL具有AVG()函数可以为您完成此工作。这样您的查询就可以完成所有工作,例如:

SELECT AVG( column_name ) AS average FROM table_name;

以供参考:https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_avg

如果您希望使用CodeIgniter / PHP进行此操作,则可以这样做:

<?php

$query = $this->db->query('SELECT * FROM tablename');

$results = $query->result();

$rowCount = count( $results );

$total = 0;

foreach( $results as $row )
    $total += $row->column_name;

$average = $total / $rowCount;