[英]How to access the rows before and after a pivot row (can be any row) using a loop in a PHP script working on a mySQL database?
以下代码使用php脚本中的“ for”循环查询数据库中枢轴行之前的每一行。 查询所有以下行的情况相同。 每次将新查询插入sql时,此代码均未优化。 有什么技术可以加快整个过程? mysql中是否有任何查询可以解决目的以及使用哪个查询可以绕过循环?
while($speed < 3 && $found > 0)
{
$sub_query = "select * from sheet_17_43_2 where Generation = ". $found ."-1";
$res = mysql_query($sub_query);
if (!$res)
{
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($res) == 0)
{
echo "No rows found, nothing to print so am exiting";
exit;
}
$speed = mysql_fetch_assoc($res)["Speed"];
mysql_free_result($res);
$time++;
}
要将列的当前值( col
)与“上一个”值进行比较,请执行以下操作
SELECT t.col - @prev AS change_from_prev,
@prev := t.col
FROM
( SELECT @prev := 0 ) initializer
JOIN t
ORDER BY ...
ORDER BY
很重要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.