1

抱歉,如果这是一个愚蠢的问题,我搜索了一下,找不到像我这样的例子的解决方案。

我有一个带有查询的小型照片共享应用程序,它输出用户的 ID 号,按他们拥有的关注者数量排序。我想稍微更改查询,以便如果用户有相同数量的关注者,他们将按他们上传的照片数量排序。

我将如何编辑我的查询?我所做的所有尝试都没有成功。

当前查询如下所示:

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

User_Followers 表如下所示:

ID     UserID     FollowingUserID    DateFollowed

照片表如下所示:

ID     PostedByUserID     DatePosted

提前感谢您的帮助!

4

1 回答 1

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
于 2012-11-13T14:52:45.043 回答