三个表的联合计算平均我有三个数据库表简单的方式通过使用MySQL和PHP
Graduate_survey
g_id(pk)AI PO PO1 PO2 Program_name year1 year2
Alumni_survey
a_id(pk)AI PO PO1 PO2 Program_name year1 year2
faculty_survey
f_id(pk)AI PO PO1 PO2 Program_name year1 year2
插入值插入这些表后,我需要计算平均值和存储在另一个表中的平均值total_survey
total_survey
t_id(pk)AI PO PO1 PO2 Program_name year1 year2
使用$_session
插入Program_name,year1,year2。 如何使用MySQL查询计算平均值并将新值存储在使用php的另一个表中?我的代码在下面给出,但它不起作用。
<?php
@include("connection.php");
error_reporting(0);
$program=$_POST['Program_name'];
$year1=$_POST["year1"];
$year2=$_POST["year2"];
$po=$_POST["total_PO"];
$po1=$_POST["total_PO1"];
$po2=$_POST["total_PO2"];
$_SESSION['SProgram_name']=$program;
$_SESSION['Syear1']=$year1;
$_SESSION['Syear2']=$year2;
if($_POST['submit'])
{
$sql= "SELECT AVG(t.PO) AS total_PO, AVG(t.PO1) AS
total_PO1, AVG(t.PO2) AS total_PO2
FROM (SELECT PO,PO1,PO2
FROM Graduate_survey
UNION ALL
SELECT PO,PO1,PO2
FROM alumni_survey
UNION ALL
SELECT PO,PO1,PO2
FROM faculty_survey
)*t";
$rData=mysql_query($sql);
$res=mysql_fetch_array($rData);
$sql="select * from total_survey";
$rData=mysql_query($sql);
$res=mysql_fetch_array($rData);
$sql="insert into total_survey
values('','$po','$po1','$po2','$program','$year1','$year2')";
mysql_query($sql);
}
?>
<form method="post">
<p align="center"><input type="submit" name="submit" value="Click
here to calculate the final indirect assesment">
</form>
假设在graduate_survey表中的PO列包含70,PO1含有60和PO2含有80。在alumni_survey PO列包含60,PO1含有70和PO2包含90.In的faculty_survey PO列包含90,PO1包含80并且PO2包含60.我需要的是所有三个表格组通过ID联合的平均值(PO + PO + PO),平均值(PO1 + PO1 + PO1),平均值(PO2 + PO2 + PO2)
你想插入什么?均值的平均值?这并没有多少意义诚实 –
avg,avg1,avg2这些是列名....研究生调查,alumni_survey和faculty_survey是一些调查表格,其中一些平均计算完成,并必须将其存储在数据库中...现在我需要总结这些数据库的列并对其进行平均......例如在Graduate_survey avg中,avg1,avg2包含一些numarical值,在Alumni_survey和faculty_survey中包含相同的值。现在我需要的是avg(graduate_survey)+ avg(alumni_survey)+ avg(faculty_survey)/ 3的平均值......在avg1和avg2的情况下相同......并且平均值将不得不存储在另一个表中。 –