开发者社区> 问答> 正文

相关多个表数据的排序问题

需求场景:最新动态
最新动态包括新发布的文章和这这个用户的朋友发布的文章,这两部分数据不在同一个表,按时间排序,分页,如何做?

展开
收起
落地花开啦 2016-02-13 15:55:52 2107 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    首先不管你是如何做到讲文章分成两张表的,假设新发布的文章为表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为当前页码。

    2019-07-17 18:42:07
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
RowKey与索引设计:技巧与案例分析 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载