我有一個包含32行的表,其中成對行包含相同的「名稱值」,但具有不同的樹莓值(分別爲「1」和「2」)。 查找MIN值但在PHP中保留行值mysqli
我想提取一個獨特的名字和最低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_di的最低值立場沒問題,但它攪亂了我的樹莓價值觀。例如blå_bil的樹莓值應該是「two」,因此它具有最低的average_distance值。 我似乎無法正確理解。請有人幫我解決問題嗎?
如果任何一對具有相同名稱的行也具有相同的average_distance,則此查詢將返回兩行。這可能會或可能不會成爲理想的行爲。 –
不,它不會像只得到獨特的行 –
它真的。我在下表中測試了它:'CREATE TABLE average(name VARCHAR(32),average_distance INT,raspberry VARCHAR(4)); INSERT INTO average VALUES('a',7,'one'),('a',7,'two'),('b',2,'one'),('b',4,'two ');'和兩行返回名稱爲「a」。 –