数据库字段 uid、fuid、aname、bname
$info = array();
$query = DB::query("SELECT * FROM table WHERE uid='$_G[uid]' ");
while ($info = DB::fetch($query)) {
  if($info['fuid']) {
    $countf++;
  }
  if($info['aname']) {
    $counta++;
  }
  if($info['bname']) {
    $countb++;
  }
}
目前已知道3个字段的总数量,我想实现单字段的具体名次是多少名以及在总数里所占的百分比
比如当uid为1时该uid用户的名次以及aname(为名字)的数量在总数量里的百分比
请问该怎么写这段?求在我以上的源码基础上实现。困扰我1周了.

解决方案 »

  1.   

    select count(*) from table 得到全部数据或者根据你的条件得到你的总数在查询uid的总数 ,相除不就可以了?
      

  2.   

    $query = DB::query("SELECT uid,COUNT(*) FROM ".DB::table('common_invited')." GROUP BY uid ORDER BY COUNT(*) DESC");
    $mc=0; 
    while ($invited = DB::fetch($query)) {
      if($invited['uid'] != $uid) $mc++; 
      else break;
    }