在表里面,没有 chinese这个 字段~

解决方案 »

  1.   

    $sql = "select avg(value2) from (select id,value2 from tablename where id >= 20400 AND id < 21700 order by value1 desc limit 0,50) as a where id between 20600 and 20699";这样试试chinese这个在你的SQL里面没有出现
      

  2.   

    是我粘贴错了,实际上 value2 就是我的数据表里对应的chinese。
      

  3.   

    ERROR 1054 (42S22): Unknown column 'chinese' in 'field list'
    不是说了吗
    你在phpmyadmin里面试下
      

  4.   

    同意 eglic(圪圪) (理由永远是谎言,信仰永远是自慰) 的
    上次漏了value2了...
      

  5.   

    eglic的那一句sql可用,原来需要在select id后面添加value2才行。但是有一个问题:当按 value2降序排列后,如果value2有相同的值话,echo $result[0];不会有任何输入。也就是 limit 选中的数据,例如,第48,第49和第50名的值value2相同时,并没有输出前50名的平均值。请问:这个怎么解决?
      

  6.   

    错误在你的SQL语句,
    <?php
    (连接数据库的代码省略)
    $sql = "select avg(value2) from (select id from tablename where id >= 20400 AND id < 21700 order by value1 desc limit 0,50) as a where id between 20600 and 20699";
    $avg = mysql_query($sql);
    $result = mysql_fetch_array($avg);
    echo $result[0];
    ?>
    在你的临时表a中没有chinese字段,它只有id ,看(select id from tablename where id >= 20400 AND id < 21700 order by value1 desc limit 0,50) as a 
    所以当然会报错了!而且是找不到chinese.
      

  7.   

    上面查询出错的问题已经解决了。新的问题:当按 value2降序排列后,如果value2有相同的值话,echo $result[0];不会有任何输入。也就是 limit 选中的数据,例如,第48,第49和第50名的值value2相同时,并没有输出前50名的平均值。请问:这个怎么解决?