2010-01-22 3 views
-4
$result = mysql_query("SELECT avg(r.rate) FROM rate r where ImgName='1'"); 

이 PHP가 작동하지 않습니다.PHP에서 MySQL aggrate 기능이 작동하지 않습니다.

원래 내 위의 코드는

<?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); 
?> 

입니다 넣어 어떤을 표시되지 않습니다.

그러나 수정 코드, 즉 그 작업.

$ result = mysql_query ("SELECT r.rate FROM rate r");

하지만 난 집계 함수에 사전에

감사

당신이 별명 사용할 수 있습니다
+2

계좌에 결함이 있습니까? –

+3

오류 로그 점등 레벨 5 모자를 쓰는 동안 기다려주십시오 –

+0

게시물을 편집하여 코드로 붙여 넣으십시오. 지금은 완전히 읽을 수 없습니다. PS. error_reporting을'E_ALL'로 설정하고 mysql_error()의 결과를 보시오 – Crozin

답변

0

질문입니다 집합이 아닌 스칼라 생성 f 행. 언급 knittl 같은

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

그리고 당신은 열 이름으로 값을 가져하려는 경우 예, 당신이 별칭을 사용한다 : 당신은 항목 당 평균 비율을 얻고 싶은 경우에 당신은 같은 것을해야한다.

2

원하는 :

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

다음 출력 :

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

고마워요 –

+0

글쎄 ... 그는 ** 별칭을 사용해야하지 않습니다. 이 값은'$ row [ 'avg (r.rate)']'에서 사용할 수 있지만이 값을 검색하는 유일한 방법은 별칭을 사용하는 것입니다. 나는 네가하지 않는 동안 "네가해야만한다"라고 말하는 것이 잘못이지만. ;) – Crozin

+0

@cozin better? ;) – knittl

관련 문제