2010-07-24 4 views
0

대부분의 활성 사용자를 내 사이트에 남긴 의견으로 표현하고 싶습니다. 나는 이것에 대해 mysql 쿼리가 어떻게 생겼는지 알 수 없다. 각 사용자에 대한 전체 메모 수를 보유하는 테이블은 없습니다. 어떻게 든 각 사용자의 총 댓글 수를 계산하고 대부분의 댓글이있는 상위 10 명의 사용자를 표시해야합니다.댓글의 양에 따라 가장 활동적인 사용자를 얻으세요.

아무도 도와 줄 수 있습니까?

+4

테이블 구조를 추가해야합니다. –

답변

1

은 어떻게 든 각 사용자에 대한 의 의견과 대부분의 의견 (10) 사용자 수 상위 예를 들어 디스플레이의 총량을 계산해야합니다.

(10 명) 최고 해설자에 대한 귀하의 질문은 다음과 같아야합니다

SELECT COUNT(comment_author) AS comment_comments, comment_author 
FROM table_name GROUP BY comment_author ORDER BY comment_comments DESC LIMIT 10 
+0

데이터 구조가 없으면'GROUP BY (comment_field)'는 이제 정확히 같은 코멘트의 수를 찾고있는 것처럼 보입니다 :) – Wrikken

+0

@Wrikken : 동의하지만 더미 이름'comment_author'을 사용하여 저자를위한 필드를 나타냅니다. 의견. 그러면 10 명의 최고 평론가가 나옵니다. – Sarfraz

+0

편집 후 :) – Wrikken

0

처럼 보일 것입니다 의견의 수를 얻기 위해 요청 :

코멘트
SELECT identity_commentator, COUNT(comments) as num FROM table_comments GROUB BY identity_commentator ORDER BY num DESC LIMIT 20; 

는 의견 스타킹 열입니다 , table_comments는 재고가있는 테이블이고 identity_commentator는 사용자를 식별하는 컬럼입니다.

그런 다음 얻으려는 해설자의 수에 따라 요청 끝에 "제한"을 변경하십시오. 그런 다음, mysql_fetch_array는 2 개의 열 (identity_commentators와 num)을 가진 배열을 가지며,이 점에서 간단한 PHP이다.

편집 : Dammit, 너무 느려!

관련 문제