用另一个表中的平均值更新表 - MySQL

时间:2013-04-24 13:06:48

标签: php mysql

我有两张桌子( ca average_table )。

  

ca 有三列:Group_id,Group_name,ca_value
   average_table 有两列:Group_name,ca_value

我想计算 ca 中所有群组的ca_value平均值,并使用此数据更新* average_table *。

这就是我所拥有的

    //create average table
$average_table="CREATE TABLE average_table(Group_name CHAR(30) Primary Key, ca_value FLOAT)";

// Execute query
if (mysql_query($average_table))
  {
  echo "Table average created successfully";
  }
else
  {
  echo "Error creating table: " . mysql_error();
  }

//Calculate average
$ca = mysql_query("Select AVG(ca_value) FROM ca");

$data_sql = "INSERT INTO average_table (Group_name, ca_value) Values ('Average all groups',$ca)";
// Execute query
if (mysql_query($data_sql))
  {
  }
else
  {
  echo "Error Selecting group: " . mysql_error();
  }

1 个答案:

答案 0 :(得分:1)

mysql_query返回结果资源指针,而不是查询的实际结果。您必须使用mysql_fetch_arraymysql_fetch_assoc等来获得结果。此外,不推荐使用mysql_*;请考虑切换到mysqli或PDO。根据{{​​3}}上的手册:

  

对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,mysql_query()会在成功时返回资源,或者在出错时返回FALSE。

     

返回的结果资源应该传递给mysql_fetch_array(),以及其他用于处理结果表的函数,以访问返回的数据。