查找列的平均值,避免使用空数据

时间:2016-03-13 03:44:43

标签: php mysql average

我有这张桌子:'等级'列如下: ' student_id数据' '得分'

致电' student_id'我用

<?php echo $myData['student_id'];?>

致电&#39;得分&#39;我用

<?php echo $myData['score'];?>

当我想调用列的平均值时,得分为&#39;我用

$query="Select AVG(score) as average FROM grade";    
$result_array=mysql_query($query); 
$average= mysql_fetch_array($result_array);

问题是,null列中有score个数据,平均值将其计为0

所以这里是从列得分中获取的示例数据: 问题:

'10', '10', '10', '' , '10' will give average of 8.

我想要的是这样的:

'10', '10', '10', '' , '10' will give average of 10

任何帮助如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

你可以有一个简单的if语句来计算&#39;&#39;&#39; (nulls)然后从数据大小中减去

for (i =0; i < resultarray.length; i++){
   if (resultarray[i] == ''){
    nullcounter++;
   } else { 
    sum += sum; 
  } 
} 
average = sum /(resultarray.length - nullcounter);

答案 1 :(得分:0)

不确定为什么它会提供这样的结果,因为SUM,COUNT,AVG等聚合函数默认会丢弃NULL值。

无论如何,你可以尝试这样做是安全的:

private void quantityOne_Click(Object sender, EventArgs e)
{
    var count = ucMilkshake.Instance.ClickCount;
}

希望这有帮助。

和平!的xD