gpt4 book ai didi

php - 如何使用在 mySQL 数据库上运行的 PHP 脚本中的循环来访问枢轴行(可以是任何行)之前和之后的行?

转载 作者:行者123 更新时间:2023-11-29 22:43:49 26 4
gpt4 key购买 nike

以下代码使用 php 脚本中的“for”循环在数据库中查询数据透视表行之前的每一行。查询以下所有行的情况也是如此。此代码未经过优化,因为每次都会将新查询注入(inject)到 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 很重要。

关于php - 如何使用在 mySQL 数据库上运行的 PHP 脚本中的循环来访问枢轴行(可以是任何行)之前和之后的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29217662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com