首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL合并缺失括号

MySQL合并缺失括号
EN

Stack Overflow用户
提问于 2017-01-26 15:57:01
回答 4查看 488关注 0票数 2

我不明白。我试着把两张相同的表和union放在一起,但是它不起作用。

代码语言:javascript
运行
复制
t_fb_data:

id | date      | sum
---------------------
1  | 2017.01.01| 2
2  | 2017.01.02| 1

t_google_data:

id | date      | sum
---------------------
1  | 2017.01.01| 7
2  | 2017.01.02| 1
3  | 2017.01.03| 2

result could looks like:

| date      | sum
------------------
| 2017.01.01| 2
| 2017.01.02| 1
| 2017.01.01| 7
| 2017.01.02| 1
| 2017.01.03| 2

这是我的疑问:

代码语言:javascript
运行
复制
SELECT * 
  FROM 
     ( SELECT date
            , sum 
         FROM t_fb_data
     ) T1 
 Union 
     ( SELECT date
            , sum 
         FROM t_google_data
     ) T2 

T2应该是错误的,因为我的工作台需要在T2前面插入一个括号。但如果我做错了两件事。我必须在我的工作台上设置什么东西吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-01-26 16:09:50

你的问题是错的。您尝试合并两个具有SELECT语句的子查询,在顶部引用第一个子查询。

您正在寻找的代码:

代码语言:javascript
运行
复制
SELECT date, sum FROM t_fb_data
UNION
SELECT date, sum FROM t_google_data

这将从两个表返回非重复的值。

如果您想要将它用作子查询,可以简单地用另一个SELECT语句包围它,如下例所示:

代码语言:javascript
运行
复制
SELECT sub.*
FROM (
SELECT date, sum FROM t_fb_data
UNION
SELECT date, sum FROM t_google_data
) sub

在这种情况下,如果需要,可以在顶级SELECT语句中进行附加计算。

票数 1
EN

Stack Overflow用户

发布于 2017-01-26 15:58:38

只需做:

代码语言:javascript
运行
复制
SELECT 
    date, sum
FROM
    t_fb_data 
UNION SELECT 
    date, sum
FROM
    t_google_data

或者将其放入子查询中:

代码语言:javascript
运行
复制
SELECT 
    *
FROM
    (SELECT 
        date, sum
    FROM
        t_fb_data UNION SELECT 
        date, sum
    FROM
        t_google_data) t;
票数 1
EN

Stack Overflow用户

发布于 2017-01-26 16:02:48

在MySQL中,如果您想从不同的数据集中总结相同的值,则需要使用关键字ALL,因为只有联合才能在唯一的数据集中总结数据集并在其上应用不同的数据集。您的查询应该如下所示:

代码语言:javascript
运行
复制
SELECT date,sum FROM t_fb_data Union ALL SELECT date,sum FROM t_google_data
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41877584

复制
相关文章

相似问题

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