2012-11-13 4 views
1

죄송합니다. 바보 같은 질문 인 경우 약간 검색 한 결과 제 해결책을 찾지 못했습니다.3 개의 테이블을 사용하여 2 개의 값으로 정렬

사용자의 ID 번호를 출력하는 쿼리를 사용하여 작은 사진 공유 앱을 보유하고 있으며 팔로어 수로 정렬됩니다. 사용자가 같은 수의 팔로어를 가지고 있다면 업로드 한 사진 수에 따라 정렬되도록 쿼리를 약간 변경하고 싶습니다.

내 검색어를 어떻게 수정하나요? 내가 한 모든 시도는 실패했습니다.

현재 쿼리는 다음과 같습니다

ID  UserID  FollowingUserID DateFollowed 

을 그리고 사진 테이블은 다음과 같습니다 : 사전에

ID  PostedByUserID  DatePosted 

감사 User_Followers 테이블은 다음과 같습니다

SELECT Users.ID, COUNT(User_Followers.FollowingUserID) 
       AS follower_count FROM Users 
       LEFT JOIN User_Followers ON Users.ID = User_Followers.FollowingUserID 
       GROUP BY Users.ID 
       ORDER BY follower_count DESC 

어떤 도움이라도!

+0

검색어에 어떤 문제가 있습니까? –

답변

2
SELECT Users.ID, 
     COUNT(User_Followers.FollowingUserID) AS follower_count 
FROM Users 
     LEFT JOIN User_Followers 
      ON Users.ID = User_Followers.FollowingUserID 
     LEFT JOIN 
     (
      SELECT PostedByUserID, COUNT(*) postCount 
      FROM photos 
      GROUP BY PostedByUserID 
     ) a ON Users.ID = a.PostedByUserID 
GROUP BY Users.ID 
ORDER BY follower_count DESC, a.postCount DESC 
+0

대단히 감사합니다! 출력 (예 : PHPMyAdmin)을 확인하려면 사용자 당 사진 수를 표시하는 세 번째 열을 표시하도록 어떻게 수정해야합니까? –

+1

'SELECT Users.ID, COUNT (User_Followers.FollowingUserID) AS follower_count, a.postCount FROM .... ' –

+0

당신을 환영합니다! –