2012-08-01 2 views
0

와 테이블의 최대 합계를 얻을 수 있습니다 :어떻게 내가 같은 테이블과 SQL 데이터베이스가 MySQL의

 
ObjID Rating 
123 1 
333 0 
123 0 
123 1 
567 1 

Ojbect ID가 다른 평가와 함께 테이블에 여러 번 표시 할 수 있습니다, 나는 방법이 필요합니다 "distinct"ObjID를 선택하여 모든 등급을 검사하고 다른 모든 "distinct"ObjID와 비교하여 그 등급을 비교하십시오. 결국, 나는이 예에서 123, 567 및 333이 인쇄 될 것 인 모든 최고 등급 이상의 1 - 3 번째 ObjID를 가져야합니다.

답변

1

각 개체의 등급은 테이블에있는 해당 개체의 모든 등급의 총합입니까?

SELECT ObjID, SUM(Rating) AS TotalRating 
FROM ObjectTable 
GROUP BY ObjID 
ORDER BY SUM(Rating) DESC 
LIMIT 3 
+0

네,하지만 나는 LIMIT 3를 제거하고 추가 할 때 : 동안 ($ 행 = mysqli_fetch_array의 ($ R)) { $ 행 = mysqli_fetch_array ($의 R); echo $ row [ 'ObjID']; } 1 개의 결과 만 출력합니다. – sebi

+0

while ($ row = mysqli_fetch_array ($ r)) {echo $ row [ 'ObjID']; }'더 좋을 것입니다. 어쩌면 당신은 단지 2 개의 행을 가지고 있을까요? –

+0

ring0이 언급했듯이 테이블에는 두 개의 고유 한 객체 ID 만 있습니까? MySQL 콘솔에서 쿼리를 실행하면 어떻게됩니까? –

관련 문제