我要将sql查询结果分成两部分。我想要这样做的原因是我只希望我的服务器首先只处理20个项目,然后在其余部分sleep
之后处理。
在mysql_query
之后,sql如何将查询分成多个查询,以便我可以一个接一个地单独处理这些部分?
我的愿景是:
if(mysql_row_nums($sql)>20){
handle only 20 items
} else {
handle all
}
感谢阅读。
答案 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.
}
}
}