首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mysql中合并数据bt表

在mysql中合并数据bt表
EN

Stack Overflow用户
提问于 2009-08-10 16:48:59
回答 1查看 104关注 0票数 1

我有三个表,结构如下:

代码语言:javascript
复制
tb1: id(AI, PK), uid, date, text
tb2: id(AI, PK), uid, date, text ... and so on

我必须将它们分开,因为每个表都有额外的唯一数据。我想执行一个查询,它将合并所有3个表中的最后20个条目(即date DESC) (具体地说,我需要uidtext) (就像这是一个大表一样)。

我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2009-08-10 16:53:10

代码语言:javascript
复制
SELECT  *
FROM    (
        SELECT  uid, text
        FROM    tb1
        ORDER BY
                date DESC
        LIMIT 20
        ) q
UNION ALL
SELECT  *
FROM    (
        SELECT  uid, text
        FROM    tb2
        ORDER BY
                date DESC
        LIMIT 20
        ) q2
UNION ALL
        (
        SELECT  uid, text
        FROM    tb3
        ORDER BY
                date DESC
        LIMIT 20
        ) q3
ORDER BY
        date DESC
LIMIT 20

这比单纯的UNION ALL更有效。

有关性能比较,请参阅我博客中的这篇文章:

  • :**
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1255967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档