我试图将整列(数据(除以列数(5(,并将其插入另一列(数据平均值(:
数据:20 12 32 12 32
数据平均值:20/5 12/5 32/5 12/5 32/5
我可以使用查询:
update data set data_average = data / 5;
它是有效的,但我知道当我向数据列添加更多数据时,它将不再是/5。
因此,我尝试使用查询:动态创建它
select count(*) as count from table
但我无法像那样到达第一个查询
update data set data_average = data / count;
我怎样才能把它除以计数?
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;