mysql的for循环,如何将SQL查询放入for()循环中

  • Post author:
  • Post category:mysql


你真的不想把SQL放在一个循环中你将执行100个查询而不是一个查询。

当你可以使用如下图所示的简单聚合以获得最佳性能时,这会破坏你网站的性能。

此外,不推荐使用mysql库,而是使用mysqli。

这样做:

$sql = ‘SELECT interviewer, AVG(time) AS avg_time

FROM lucky

WHERE interviewer BETWEEN 1 AND 100

GROUP BY interviewer’;

$mysqli = new mysqli(“localhost”, “my_user”, “my_password”, “world”);

// Execute the query

$result = $mysqli->query($sql);

// Display the results in a table

echo ‘

while ($row = $result->fetch_assoc()) {

echo ‘

‘;

echo ‘

‘ . $row[‘interviewer’] . ”;

echo ‘

‘ . round($row[‘avg_time’], 2) . ”;

echo ‘

‘;

}

echo ‘

‘;

// Close the resultset

$result->close();

我上面所做的是拉动所有采访者的平均时间,由采访者将他们分组#。

这将自动消除数据库级别的失踪访调员。

然后,我使用while循环遍历数据库结果。

这是从数据库中查询和显示多个项目的公认编程实践。 DB在过滤和聚合数据方面非常快。用它来擅长它。如果你试图将这个逻辑推出到PHP中,并且对数据库进行100次查询,那么你将无延迟地增加100倍的延迟和连接处理。