MYSQL php aggrate fonksiyonu çalışmıyor

2 Cevap php
$result = mysql_query("SELECT avg(r.rate) FROM rate r where ImgName='1'");

Bu php çalışmıyor.

Başlangıçta benim kod

<?php
$con = mysql_connect("localhost","root","sql");

if (!$con)
{
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("photogallery", $con);

$result = mysql_query("SELECT avg(r.rate) FROM rate r ");
echo "<table border='0' cellspacing='5'>";
echo "<th> Average Rating </td>";

while($row = mysql_fetch_array($result))
{
    echo "<tr>";
    echo "<td> " . $row['rate'] . "</td>";
    echo "</tr>";
}

echo "</table>";

mysql_close($con);
?> 

Yukarıdaki koymak herhangi dışarı gösterilmiyor.

ancak çalışıyorsun yani o kodu değiştirebilirsiniz.

$ Result = mysql_query ("hızı r DAN r.rate SEÇ");

ama i aggregate function istiyorum

şimdiden teşekkürler

2 Cevap

Sorgunuz bir skalar ziyade satır kümesi üretiyor. Eğer ürün başına ortalama oranı elde etmek istiyorsanız, o zaman böyle bir şey yapmanız gerekir:

SELECT avg(r.rate) FROM rate r GROUP BY ItemIdColumn

Eğer sütun adıyla değerini almak istiyorsanız knittl bahsettiğim gibi ve evet, sen, bir takma ad kullanması gerekir.

Eğer bir takma ad kullanabilirsiniz:

SELECT avg(r.rate) AS rate_average
  FROM rate r
 WHERE ImgName='1'

ve daha sonra çıkışı:

echo "<td> " . $row['rate_average'] . "</td>";