我有以下查询,以降序输出过去一周收到最多收藏数的用户:
SELECT COUNT(faves.user_id) AS topFaves, faves.created_on, user_name
FROM users
INNER JOIN faves ON faves.user_id= users.id
WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) <= created_on
GROUP BY id ORDER BY topFaves DESC
我希望能够扩展此列表以包含所有用户,而不仅仅是过去一周,但仍然按照相同的标准(他们在过去一周获得的收藏数量而不是数量他们总共得到了什么。 我试图在选择中包含一个子查询,但没有任何运气。
提前感谢您提供任何帮助
答案 0 :(得分:0)
也许我错过了什么,但只是删除了这一行:
WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) <= created_on
你将拥有“所有用户” - 仍然按topFaves排序......
此外,如果您想列出所有人(不仅仅是10个人),您还需要删除:
LIMIT 10