mysql — находит MIN-значения, но поддерживает значения строк в PHP mysqli

У меня есть таблица из 32 строк, с попарными строками, содержащими одинаковые «имена-значения», но с разными значениями малины (соответственно «один» и «два».)
введите описание изображения здесь

Я хочу извлечь каждую строку с уникальным именем и наименьшим усредненным расстоянием — давая мне 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 должен иметь малиновое значение «два», следовательно, он имеет самое низкое значение middle_distance -.
Я не могу понять это правильно. Кто-нибудь, пожалуйста, помогите мне сделать это правильно?

вывод в браузере

1

Решение

пытаться:

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

1

Другие решения

спасибо Нишант Матха
Это сработало — мне просто нужно было добавить малину в мой первый выбор. Теперь он добавляет average_distance к выводу.

    $sql = "SELECT a.name, a.average_distance, a.raspberry
from average a
INNER JOIN
(
select name,MIN(average_distance) AS avg_dist,raspberry
FROM average
GROUP BY name
)
a2 ON a.name=a2.name AND a.average_distance = a2.avg_dist ";
0

По вопросам рекламы [email protected]