需求场景:最新动态
最新动态包括新发布的文章和这这个用户的朋友发布的文章,这两部分数据不在同一个表,按时间排序,分页,如何做?
首先不管你是如何做到讲文章分成两张表的,假设新发布的文章为表A,朋友发布的文章为表B,朋友关系为表C,那么AB表中必须具有以下字段:
uid 发布人
time 发布时间
C表中必须有以下字段
uid 用户id
fid 朋友id
如果你的uid为1的话,可以这样写查询语句:
`select * from (
select * from A
union
select * from B where uid in (select fid from C where uid = 1)
) T order by time desc limit index, rows`
其中index和rows是数字,rows是每页的行数,index = (page - 1) * rows,page为当前页码。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。