Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从三个标记中找出两个最大标记的平均值_Php_Mysql - Fatal编程技术网

Php 从三个标记中找出两个最大标记的平均值

Php 从三个标记中找出两个最大标记的平均值,php,mysql,Php,Mysql,我希望从三个系列的分数中平均得到两个最高的分数 以下是我尝试的代码: if(isset($_POST['find'])){ $a=$_POST['a']; $ins=mysql_query("SELECT * FROM test1 WHERE studid ='$a' ORDER BY mark DESC

我希望从三个系列的分数中平均得到两个最高的分数

以下是我尝试的代码:

if(isset($_POST['find'])){
    $a=$_POST['a'];
    $ins=mysql_query("SELECT * 
                      FROM test1
                      WHERE studid ='$a'
                      ORDER BY mark DESC 
                      LIMIT 2");
    while($r=mysql_fetch_row($ins)){
        echo $r[2];
    }
}
查询应为:

  -- studid=1 top two average marks
  SELECT AVG(A.mark) avgTop2Marks FROM
  (SELECT mark
  FROM test1
  WHERE studid=1
  ORDER BY mark DESC 
  LIMIT 2) A;

  -- studid=1 distinct top two average marks
  SELECT AVG(A.mark) avgDistinctTop2Marks FROM
  (SELECT DISTINCT mark
  FROM test1
  WHERE studid=1
  ORDER BY mark DESC 
  LIMIT 2) A;

这里有一个

请升级到mysqli_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu