Mysql 连接表以获取用户活动
我有三个表Mysql 连接表以获取用户活动,mysql,Mysql,我有三个表users,users\u followers和user\u activity 用户拥有关于用户、电子邮件、用户名、密码蚀刻的所有数据 user\u followers有谁在跟踪谁 和user\u activity存储用户的所有活动,例如“写文章” 我很难弄清楚如何连接表,因此输出结果将是我拥有我正在跟踪的用户的所有活动 让我们假设亚当追随史蒂夫和柯特。史蒂夫发表了一篇帖子,几分钟后,科特上传了一张图片,史蒂夫评论道 我想从数据库中获取它,按时间戳排序 前 史蒂夫对一张照片发表了评论
users
,users\u followers
和user\u activity
用户
拥有关于用户、电子邮件、用户名、密码蚀刻的所有数据
user\u followers
有谁在跟踪谁
和user\u activity
存储用户的所有活动,例如“写文章”
我很难弄清楚如何连接表,因此输出结果将是我拥有我正在跟踪的用户的所有活动
让我们假设亚当追随史蒂夫和柯特。史蒂夫发表了一篇帖子,几分钟后,科特上传了一张图片,史蒂夫评论道
我想从数据库中获取它,按时间戳排序
前
史蒂夫对一张照片发表了评论
柯特上传了一张图片
史蒂夫发了一篇帖子
我这里有一把sql小提琴
非常感谢您的帮助 谢谢@Jim!但另一个问题是后续问题。在查询中添加between子句时遇到问题。添加了列
follower\u,因为\u时间戳
。到用户\u追随者
。试图弄清楚这行代码应该是什么样子,以及follower\u since\u timestamp在FROM\u UNIXTIME(follower\u since\u timestamp)和NOW()之间的位置()我似乎很快就接受了你的答案。您的查询似乎是从活动表中获取的,但针对where子句中指定的用户。它应该获取用户正在跟踪的其他用户的活动,对应于用户\追随者。因此其中u1.user\u name='demo'
应该从用户关注的人那里获取活动,例如:steve、angela、mark等,并从活动表中显示活动。再次感谢!
select
u1.user_name as `user_name being followed`,
u2.user_name as `follower_name that followes`,
ua.*
from users u1
join users_followers uf on uf.user_id=u1.user_id
join users u2 on u2.user_id = uf.follower_id
join user_activity ua on ua.user_id = u2.user_id
where u1.user_name='demo'
order by ua.activity_timestamp