mysql不支持子查询,在一句SQL中无法实现。

解决方案 »

  1.   

    我的看法:
    $query="select * from tablename";
    $result=mysql_query($query,$link);
    $row=mysql_num_rows($result);
    $query1="select * from tablename where username='赵一'";
    for ($i=0;$i<=总共的数目;$i++)
    {
    $result.$i=mysql_query($query.$i);
    $row.$i=mysql_num_row($result.$i);
    $rate.$i=$row.$i/$row;
    echo $rate.$i."<br>";
    }浅妄薄见,望与斟酌
      

  2.   

    mysql目前不支持子查询,在一句SQL中无法实现。据说会在4.X版本中支持子查询。
      

  3.   

    低版本的MYSQL不支持子查询,所以不能一句实现
      

  4.   

    返回百分数先不行,但返回数量可以这样:
    select field1,count(*) from tablename group by field1 order by 2 desc
      

  5.   

    Shakespeare(网络骑士):
    $query1="select * from tablename where username='赵一'";
    我的意思是在查询之前不知道那个username出现的记录多,而是要查记录最多的几个username,而且这个记录数还不确定,几条sql语句也可以,那位大虾给指条明路?
      

  6.   

    没有经过测试,如果执行通不过,就算给一个思路吧。
    $query="select field1,count(*) from tablename group by field1 order by 2 desc";
    $result=mysql_query($query,$link);
    $total=mysql_num_rows($result);
    while ($row=mysql_fetch_row($result)){
    $test = sprintf ("%01.2f", (row[1]/$total));
    echo row[0]."     ".$test."%<br>";
    }
      

  7.   

    有个mysql的select语句,整整写了两页长,可不是单的and or not之类哟。呵呵。我看倒CPU都大了。