我需要帮助才能将嵌套查询的结果分配到数组中。这是一个场景:
$Date_Collection = mysql_query("SELECT DISTINCT Date FROM TblDate");
while($date = mysql_fetch_array($Date_Collection)) // Loop through all the dates
{
$var_date = $date['Date'];
$result = mysql_query("select min(Speed) as Min_spd, max (Speed) as Max_spd, avg
(Speed) as Avg_spd from ... where Date= $var_date");
while($row = mysql_fetch_array($result))
{
echo "row[Min_spd]";
echo "row[Max_spd]";
echo "row[Avg_spd]";
}
}此查询的输出如下所示:
Min_Spd |Max_Spd |Avg_Spd| Date|
12.0| 25.0| 20.4| 2012-10-01|
11.0| 28.0| 21.4| 2012-10-02|
10.0| 26.0| 23.4| 2012-10-05|
08.0| 22.0| 21.4| 2012-10-08|我基本上需要显示所有这些日期的Min_Spd总和,Max_spd总和,Avg_spd总和。因此,我想,如果我可以将这些值分配到一个数组中,然后从该数组中计算出这些和,这可能是一个好主意。
有人能帮我解决这个问题吗?是否可以使用数组来存储这些值,然后访问这些值并计算这些值的总和。如果我可以使用数组,谁能告诉我在PHP中使用数组的语法。我真的很感谢在这方面的任何帮助。
除了使用数组之外,是否还有其他方法,例如创建一个临时表来保存这些值,然后删除临时表。如果可以使用临时桌,你能告诉我怎么做吗?我可以将temptable用于单个循环,但是有一个嵌套循环,我不知道如何在嵌套循环中创建一个临时表来存储所有值。
发布于 2012-07-10 05:07:52
$data = array();
while ($row = mysql_fetch_assoc($result)) {
$data[] = $row;
}然后你可以在以后做
foreach($data as $row) {
echo $row['Min_spd'];
echo ...
...
}发布于 2012-07-10 05:11:44
我不知道是否可以使用MySQL SUM函数对te查询执行此操作,请尝试使用它。但是在本例中,您应该使用数组来存储值,然后使用array_sum返回元素的和。如下所示:
$min_spd = array();
$max_spd = array();
$avg_spd = array();
while($row = mysql_fetch_assoc($result))
{
$min_spd[] = $row['Min_spd'];
$max_spd[] = $row['Max_spd'];
$avg_spd[] = $row['Avg_spd'];
}
echo array_sum($min_spd);也可以使用变量来存储和添加值:
$min_spd = 0;
$max_spd = 0;
$avg_spd = 0;
while($row = mysql_fetch_assoc($result))
{
$min_spd += $row['Min_spd'];
$max_spd += $row['Max_spd'];
$avg_spd += $row['Avg_spd'];
}
echo $min_spd;发布于 2012-07-10 05:18:58
首先,我将通过执行第一个查询来为自己保存一个嵌套查询:
$result = mysql_query("select Date, min(Speed) as Min_spd, max (Speed) as Max_spd, avg(Speed) as Avg_spd from ... group by Date")然后在循环遍历每一行时,为总和创建一个运行合计:
$sumMinSpeeds=0;
$sumMaxSpeeds=0;
$sumAvgSpeeds=0;
while($row = mysql_fetch_array($result))
{
echo row['Min_spd'];
echo row['Max_spd'];
echo row['Avg_spd'];
$sumMinSpeeds += $row['Min_spd'];
$sumMinSpeeds += $row['Max_spd'];
$sumMinSpeeds += $row['Avg_spd'];
}
echo $sumMinSpeeds;
echo $sumMaxSpeeds;
echo $sumAvgSpeeds;https://stackoverflow.com/questions/11403047
复制相似问题