[英]How to add all value in a column in database and get its average then count its num of rows
我有一个查询代码,它从数据库评级中选择评级,然后使用变量total来添加所有查询,然后我想做的是获取数据库中的行数,以便将行数除以总值得到它的平均值
$total=0;
<?php
$st='SELECT rated FROM rating;';
$t=mysqli_stmt_init($conn);
mysqli_stmt_prepare($t,$st);
mysqli_stmt_execute($t);
$res=mysqli_stmt_get_result($t);
while($rop=mysqli_fetch_assoc($res)){
$total+=$rop['rated'];
echo $total;
$count=count($rop['rated']);
}
echo $total;
$total=0;
然后我得到一个错误参数,该参数必须是在$ count中实现可计数的数组或对象
count()
函数用于计算数组中元素的数量。
您应该在循环中每次递增变量。
$count = 0;
while($rop=mysqli_fetch_assoc($res)){
$total+=$rop['rated'];
echo $total;
$count++;
}
但是没有必要在PHP中执行此操作,您可以在MySQL中执行此操作:
SELECT SUM(rated) AS total, AVG(rated) AS avg, COUNT(*) AS count
FROM rating
count($rop['rated'])
没有意义。 您尝试计算一个值。
您应该看看mysql avg函数: https : //www.w3schools.com/sql/sql_count_avg_sum.asp
select avg(rated) from rating;
应该为你做这份工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.