我正在为我的学校做一个关于一个模仿Twitter的网站的项目。
我的用户可以通过关注人员成为专家(在我放的FOLLOW表中。跟随后面的邮件和。后续邮件)。用户可以TWEET并查看用户的TWEET如下。
请求的查询之一是以下一个: 鉴于专家用户A,请返回用户B,然后返回上周发布次数最多的A。
我写了这段代码
SELECT follow.followed
FROM follow
INNER JOIN user ON follow.followed = user.mail
INNER JOIN tweet ON user.mail = tweet.mail
WHERE tweet.datetime BETWEEN DATE_SUB(NOW(), INTERVAL 1 WEEK) AND NOW() AND follow.following = 'john.doe@gmail.com'
GROUP BY follow.followed
ORDER BY COUNT( tweet.mail ) DESC
LIMIT 1
但是你可以看到它只显示了一个结果,老师指出,如果结果相同,他希望查询返回所有绑定的用户。
我发现我需要类似rank()函数的东西,但我不能在mySQL中“翻译”它,甚至不使用我在StackOF上找到的所有解决方案。
我无法理解,如果我做错了什么或什么,那么任何帮助都会非常感激。
谢谢!
阿尔贝托