使用where子句插入平均值

时间:2014-11-28 21:47:44

标签: mysql sql-update

我想从table = iis1计算column = ServiceQuality的平均值,同时将值更新为table = adminsum,column = avevalue WHERE aname ='SERVICEQUALITY'。

phpmyadmin中的表格如下所示:

dbname=iis ; table name=adminsum;

UserID          aname              avevalue
  1        SERVICEQUALITY   (insert average value here) 
  2              USE        (insert average value here) 

我希望只要table = iis1,column = ServiceQuality的平均值发生变化,adminsum中的平均值就会保持最新状态。

这是我的编码,但似乎我错过了一些东西而且没有用。 它只是插入0值而不是精确的平均值。

有人可以帮我吗?

<?php

 require_once('Connections/localhost.php');
    mysql_connect("localhost","root","");
    mysql_select_db("iis");

// Make a MySQL Connection
$conn = mysql_connect('localhost','root','');

$query = "SELECT AVG (ServiceQuality) AS average from iis1";
$result = mysql_query($query) or die(mysql_error());
$query1 = "UPDATE adminsum SET avevalue='average' WHERE aname='SERVICEQUALITY'";
$result1 = mysql_query($query) or die(mysql_error());

if (!mysql_query($query,$conn))
  {
  die('Error: ' . mysql_error());
  }
  mysql_close($conn)
?>

1 个答案:

答案 0 :(得分:1)

您可以使用子查询在一个步骤中实现此目的。

将您的查询更改为:

update adminsum
set avevalue = ( select avg(ServiceQuality) from iis1 )
where aname = 'SERVICEQUALITY'