sql语句问题?

现在有文章表 article和 文章回复表reply

article

  • id

  • title

  • user_id

  • create_time

reply

  • id

  • user_id

  • article_id

  • create_time

那么如何才能获取 用户最近10条文章 和 回复的文章 (加起来10条,而不是分别10条)
能否用一条语句完成,分开查询我会

解决了

(SELECT id,title,create_time,'article' as type FROM fb_articles WHERE user_id = 4)
UNION
(SELECT a.id,a.title,b.create_time,'reply' as type FROM fb_articles as a,fb_replys as b WHERE a.id = b.article_id AND b.user_id = 4)
ORDER BY
create_time
DESC
LIMIT 10
阅读 2.8k
4 个回答

SELECT * FROM(SELECT user_id,title,create_time FROM article UNION ALL SELECT user_id,article_id,create_time FROM reply) ar WHERE ar.user_id=xxx ORDER BY create_time desc LIMIT 10

你是想要找最近回复的10篇文章还是?

union 一下根据日期排序取前10不就完了。

SELECT article.id, article.title, article.user_id, article.create_time, reply.user_id, reply.article_id, reply.create_time
FROM article,reply
WHERE article.id = reply.id
ORDER BY article.create_time desc LIMIT 10
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题