select * from zan where uid not in(select uid from zan where zhongjiang !=0) group by uid order by rand() limit 40

不过这个执行效率比较低,正在找更好用的方法

 

 

我觉得还是不如两条语句分开来写,先查出所有的uid,然后再用not in  这样查询速度快很多

$sql="select uid from zan where zhongjiang !='0'";
$res=$dbs->query($sql);
$uid='';
while($o=$dbs->fetch_object($res)){
    $uid.=$o->uid.',';
}
$uid=substr($uid,0,strlen($uid)-1);
$sql="select * from zan where uid not in($uid) group by uid order by rand() limit 40";
$res=$dbs->query($sql);
$arr=array();
while($o=$dbs->fetch_object($res)){
    $arr[]=$o;
}

posted on 2014-06-04 11:58  幸福之家128817  阅读(6617)  评论(0编辑  收藏  举报