Mysql 使用3个表按2个值排序
抱歉,如果这是一个愚蠢的问题,我搜索了一点,找不到像我这样的例子的解决方案 我有一个小的照片共享应用程序,其中有一个查询,可以输出用户的ID号,按用户拥有的追随者数量排序。我想稍微修改一下查询,这样如果用户拥有相同数量的关注者,他们将按照上传的照片数量进行排序 我将如何编辑我的查询?我所有的尝试都没有成功 当前查询如下所示:Mysql 使用3个表按2个值排序,mysql,sql,multiple-tables,Mysql,Sql,Multiple Tables,抱歉,如果这是一个愚蠢的问题,我搜索了一点,找不到像我这样的例子的解决方案 我有一个小的照片共享应用程序,其中有一个查询,可以输出用户的ID号,按用户拥有的追随者数量排序。我想稍微修改一下查询,这样如果用户拥有相同数量的关注者,他们将按照上传的照片数量进行排序 我将如何编辑我的查询?我所有的尝试都没有成功 当前查询如下所示: SELECT Users.ID, COUNT(User_Followers.FollowingUserID) AS follower_coun
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
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
ID UserID FollowingUserID DateFollowed
ID PostedByUserID DatePosted
照片表如下所示:
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
ID UserID FollowingUserID DateFollowed
ID PostedByUserID DatePosted
提前感谢您的帮助 您的问题是什么?非常感谢!如果我想检查输出(例如在PHPMyAdmin中),我将如何修改它以显示第三列,显示每个用户的照片数?
选择Users.ID,COUNT(user\u Followers.followeruserid)作为Followers\u COUNT,a.postCount FROM…
再次感谢您的帮助!正如你可能已经猜到的,MySQL不是我的专长:P
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