如何将sql查询结果分成小部分

时间:2012-11-12 08:21:30

标签: php sql

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

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

我的愿景是:

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

感谢阅读。

3 个答案:

答案 0 :(得分:2)

您可以在查询

中设置limit 0,20来执行此操作

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

答案 1 :(得分:1)

查看SQL LIMIT参数: LIMIT

答案 2 :(得分: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. 
        } 
   }
}