如何通过Group Id计算php中SQL列的平均值并在HTML页面上显示?

我想计算由collegename对其进行分组的所有其他列的平均值。

i.e RVCE与所有其他列的平均值,
BMS与所有其他列的平均值等等
并以HTML显示值。</ p>

SQL数据库结构图像 </ p>

我已尝试过以下代码,但它是 没有返回值。</ p>

 &lt;?php 
$ hostname =“localhost:8889”;
$ username =“root”;
$ password =“root “;
$ db =”rank“;
$ dbh = new PDO(”MySQL:host = $ hostname; dbname = $ db“,$ username,$ password);
foreach($ dbh-&gt; query( 'SELECT collegename,AVG(校园)
FROM college
GROUP BY collegename')$ row){
echo“&lt; tr&gt;”;
echo“&lt; td&gt;” 。 $ row ['AVG(校园)']。 “&lt; / td&gt;”;
echo“&lt; / tr&gt;”;
}
?&gt;
</ code> </ pre>
</ div>

展开原文

原文

I want to calculate the Average value of all other columns grouping them by collegename. i.e RVCE with Average of all other columns, BMS with Average of all other columns and so on and display the value in HTML.

SQL Database Structure Image

I have tried the following code in but it is returning me no values.

<?php
$hostname="localhost:8889";
$username="root";
$password="root";
$db = "rank";
$dbh = new PDO("MySQL:host=$hostname;dbname=$db", $username, $password);
foreach($dbh->query('SELECT collegename,AVG(campus)  
FROM college       
GROUP BY collegename') as $row) {
echo "<tr>";
echo "<td>" . $row['AVG(campus)'] . "</td>";
echo "</tr>";
}
?>

douyunjiaok300404
douyunjiaok300404 点击这里rank.bsid.io/sq.php
大约 3 年之前 回复
douzhou7124
douzhou7124 你遇到了什么错误?
大约 3 年之前 回复
duadpnld426905
duadpnld426905 不,它不适用于PHP
大约 3 年之前 回复
douyou3619
douyou3619 好的,所以现在在php中尝试这个,看看是否可行
大约 3 年之前 回复
dougou6727
dougou6727 是的,SQLFiddle上的字词sqlfiddle.com/#!9/6abec/3以及如果我想为每一列做什么?
大约 3 年之前 回复
dongxie559554
dongxie559554 愚蠢的问题-你是用单引号在mySQL中运行的吗?
大约 3 年之前 回复
dousha1831
dousha1831 你能在SQLFiddle或rextester中重新创建错误吗?语法是正确的,必须有其他事情发生......
大约 3 年之前 回复
dthhlf1777
dthhlf1777 除了collegename之外,所有都是int(11)
大约 3 年之前 回复
dqlk31541
dqlk31541 校园列的数据类型?
大约 3 年之前 回复
drcrc28428
drcrc28428 我收到错误“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以获得正确的语法使用nea'SELECTcollegenameAVG(校园)ASavg_campusFROMcollegeGROUPBYcollegename'在第2行
大约 3 年之前 回复
duanna5749
duanna5749 原始查询在mySQL中是否正常工作?
大约 3 年之前 回复

2个回答



  SELECT 
AVG((校园+位置+费用+互联网+安全+位置+幸福+天气+乐趣+节日) )/ 10)as avg_campus,
FROM
college
GROUP BY
collegename
</ code> </ pre>

如果大学名称只有一行,那么 group by是无用的...... AVG()以及</ p>

对于每个列的平均值:</ p>

  SELECT AVG(campus  )作为校园,AVG(位置)作为位置,AVG(成本)作为成本,AVG(互联网)作为互联网,AVG(安全)作为安全,AVG(放置)作为安置,AVG(hapiness)作为hapiness,AVG(天气) 作为天气,AVG(有趣)有趣,AVG(fests)作为节日
FROM大学
GROUP BY collegename
</ code> </ pre>
</ div>

展开原文

原文

SELECT
     AVG((campus + location + cost + internet + safety + placement + hapiness + weather + fun + fests)/10) as avg_campus,
   FROM
     college
   GROUP BY
     collegename

If you have only one row for a college name, then the group by is useless and... the AVG() as well

For average of each individual column :

SELECT AVG(campus) as campus, AVG(location) as location, AVG(cost) as cost, AVG(internet) as internet, AVG(safety) as safety, AVG(placement) as placement, AVG(hapiness) as hapiness, AVG(weather) as weather, AVG(fun) as fun, AVG(fests) as fests
FROM college 
GROUP BY collegename

duanmeng3573
duanmeng3573 然后是每个列的平均值:SELECT AVG(校园)作为校园,AVG(位置)作为位置,AVG(成本)作为成本,AVG(互联网)作为互联网,AVG(安全)作为安全,AVG(放置)作为安置 ,AVG(hapiness)as hapiness,AVG(天气)as weather,AVG(fun)as fun,AVG(fests)as fests FROM college GROUP BY collegename
大约 3 年之前 回复
dqsk4643
dqsk4643 我想计算每个列的平均值而不是组合值
大约 3 年之前 回复
douba1214
douba1214 这个stackoverflow.com/questions/14787561 / ...可以帮助您阅读
大约 3 年之前 回复



试试这个?</ p>

 &lt;?php 
$ hostname =“ 127.0.0.1“;
$ port = 8889;
$ username =”root“;
$ password =”root“;
$ db =”rank“;
$ dbh = new PDO(”mysql: dbname = $ db; host = $ hostname; port = $ port“,$ username,$ password);
foreach($ dbh-&gt; query('SELECT collegename,AVG(campus)AS avg_campus
FROM college
GROUP BY collegename ')as $ row){
echo“&lt; tr&gt;”;
echo“&lt; td&gt;” 。 $ row ['collegename']。 “AVG:”。 $ row ['avg_campus']。 “&lt; / td&gt;”;
echo“&lt; / tr&gt;”;
}
?&gt;
</ code> </ pre>
</ div>

展开原文

原文

Try this one?

<?php
$hostname="127.0.0.1";
$port=8889;
$username="root";
$password="root";
$db = "rank";
$dbh = new PDO("mysql:dbname=$db;host=$hostname;port=$port", $username, $password);
foreach($dbh->query('SELECT collegename,AVG(campus) AS avg_campus  
FROM college       
GROUP BY collegename') as $row) {
echo "<tr>";
echo "<td>" . $row['collegename'] . " AVG: " . $row['avg_campus'] . "</td>";
echo "</tr>";
}
?>

donglin9068
donglin9068 确定尝试更新的一个,添加端口并使用127.0.0.1作为主机(应该与本地主机相同),也使用小写的mysql
大约 3 年之前 回复
duanlu1279
duanlu1279 是的,没有显示任何内容
大约 3 年之前 回复
dongque4778
dongque4778 甚至collegename是空白的?
大约 3 年之前 回复
duanbangzhou7809
duanbangzhou7809 它还没有工作仍然是空白输出
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐