0

我将把一个 sql 查询结果分成两部分。我想这样做的原因是我只想让我的服务器首先处理 20 个项目,然后处理sleep其余部分。

在sql中如何将查询分成多个查询,mysql_query以便我可以一个接一个地单独处理这些部分?

我的愿景是这样的:

if(mysql_row_nums($sql)>20){
  handle only 20 items
} else {
  handle all
}

谢谢阅读。

4

3 回答 3

2

您可以通过limit 0,20在查询中设置来做到这一点

限制用于将您的 MySQL 查询结果限制在指定范围内。您可以使用它来显示前 X 个结果,或显示 X - Y 结果的范围。

于 2012-11-12T08:25:05.033 回答
1

查看 SQL LIMIT 参数: LIMIT

于 2012-11-12T08:26:10.500 回答
1

尝试

if(mysql_num_rows($sql)>20){
   $i = 0;
   while($result = mysql_fetch_array($sql)){
        $i++;
        if($i <= 20){
           // do some thing with first 20 result
           var_dump($result);
        }
        if($i == 20){
            // if we have arrived to result #20 stop excuting script for minute
            sleep(60); // 60 = 1 minute ; 
        }
        if($i > 20){

            // continue dealing with result after first 20 result. 
        } 
   }
} 
于 2012-11-12T08:29:07.747 回答