2015-03-18 5 views
0

Я использовал 25 столбцов в базе данных Mysql. Мне нужно рассчитать среднее значение для каждого столбца. Будет нулевое значение, которое не должно быть указано как 99.Как найти среднее из 25 последовательных столбцов в php

Я использовал этот код для столбца r1 Как найти новые средние значения и сохранить их в разных переменных до таблицы r25?

$rat = $arr['r1']; 
if ($rat != 99) 
{ 
    $s = $rat = $s; 
    $n = $n + 1; 
    $avg = $s/$n; 
} 
+1

См нормализации – Strawberry

ответ

0

Я думаю, что вы ищете что-то вроде:

$sums = array(); 
$counts = array(); 
$avgs = array(); 
while($arr=mysql_fetch_assoc($result)){ 
foreach($arr as $key=>$val){ 
    if($val!=99){ 
    $sums[$key] += $val; 
    $counts[$key] += 1; 
} 
} 
foreach($sums as $key=>$val){ 
$avgs = (($counts[$key]>0)?$sums[$key]/$counts[$key]:0); 
} 
+0

базы данных я использую это рейтинг database.There будет много нулевых значений в БД, которые будут заменены по значению 99. Мне нужно вычислить среднее из этих 25 таблиц по переменной массива. –

+0

Это то, что строка if ($ val! = 99) {делает, если значение равно 99, оно не будет считаться. Если это все равно null, вы можете просто сказать if (! Is_null ($ val)) – juacala

Смежные вопросы