php - 在 PHP mysqli 中查找 MIN 值但维护行值

标签 php mysql min

我有一个包含 32 行的表,成对的行包含相同的“名称值”,但具有不同的覆盆子值(分别为“一个”和“两个”。) enter image description here

我想提取具有唯一名称和最低 average_distance 的每一行 - 给我 16 行,为此我正在使用此查询:

SelectFinally();

function SelectFinally (){
    $con = connectToDB();
     $sql = "SELECT name,MIN(average_distance),raspberry From average GROUP BY name";
    $result= mysqli_query($con,$sql);
   $num_rows = mysqli_num_rows($result);

   echo "number of rows"  .$num_rows ."<br />";
        while($row=mysqli_fetch_assoc($result))  {
        extract($row);
        $name = $row['name'];       
       $distance = $row['MIN(average_distance)'];    //."<br />";
       $raspberry = $row['raspberry'];       //."<br />";

echo "select inside selectFinally     name: " .$name  ."    distance:  " .$distance  ."  raspberry    "   .$raspberry ."<br />"; 


    }

此查询为我提供了 average_distance 的最低值,但它弄乱了我的覆盆子值。例如blå_bil 的覆盆子值应为“二”,因此它具有最低的 average_distance - 值。 我似乎做对了。有人可以帮我解决问题吗?

browser output

最佳答案

尝试:

SELECT a.name, a.raspberry
FROM   average a
INNER JOIN
(
    SELECT   name, MIN(average_distance) as avg_dist
    FROM     average
    GROUP BY name
) a2 ON a.name = a2.name AND a.average_distance = a2.avg_dist

代替 SELECT name,MIN(average_distance),raspberry From average GROUP BY name

关于php - 在 PHP mysqli 中查找 MIN 值但维护行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36102398/

相关文章:

php - 如何从php中的文本文件中删除第一行

php - 收藏夹:在 'echo' 内动态加载适当的图标?

R:在 dplyr::mutate() 中使用 min()

python - 在数组中查找最小值 > 0

php - dd函数无法从数据库中获取内容

php - 处理json,其中json数组的数量是动态的

php - 用于在网站上打印交叉引用表的 SQL 查询

MySQL:在 SQLException 上将 session 变量设置为 NULL

mysql - 我的 SQL 查询正在运行,但多次给我记录

c# - 如何获取数组中每个元素的绝对值