当前位置: 首页 > 面试题库 >

如何在MySQL的多个表中汇总列?

闻人弘雅
2023-03-14
问题内容

在MySQL中,我有两个表:

Table MC:
----------------
|TransNo | Qty |
|--------|-----|
|  xxx1  |  4  | 
|  xxx3  |  3  |

Table Amex:
----------------
|TransNo  | Qty |
|---------|-----|
|  xxx1   |  2  |
|  xxx5   |  1  |

我需要对QtyMC(等式7)和表Amex(等式3)中的列求和,并将结果作为总数量。

当我做

SELECT (SUM(amex.Qty) + SUM(mc.Qty)) as total_qty from amex, mc

我得到了笛卡尔积(20),但是我需要的正确答案是10。如何更改此查询以获得正确的结果?


问题答案:
SELECT SUM(t.Qty) AS total_qty
    FROM (SELECT Qty FROM MC
          UNION ALL
          SELECT Qty FROM Amex) t


 类似资料:
  • 问题内容: 查看数据库时,对所有表(包括它们的行数)进行概述非常有用: information_schema数据库中的MySQL TABLES表提供了一个table_rows字段: 但是table_rows仅对某些数据库引擎有效,而对INNODB则为NULL或不准确。 因此,有必要组成一个对每个表执行显式SELECT Count(*)…的方法。 在关于stackoverflow的这个问题的许多重复

  • 我有一个这样的数字列表: 如何以优雅的方式总结每个N(让我们假设2)个元素并将列表转换为: 编辑:我想出了以下解决方案: 它是有效的,但我仍然在寻找一个更易读、更简单的方法。

  • 问题内容: 假设您有一个非规范化的架构,其中包含多行,如下所示: 所有行都具有相同的属性集,不一定要排序。 如何创建一个表格,例如使用BigQuery (即没有客户端): 表user_properties: 在传统的SQL中,为此目的使用了“ STUFF”关键字。 如果我至少 可以得到由uuid 排序 的结果 会更容易 , 这样客户端就不需要加载整个表(4GB)进行排序了- 可以通过顺序扫描具有相

  • 问题内容: 我试图一次从几个表中删除。我做了一些研究,并提出了 但是,我收到此错误 未捕获的Database_Exception [1064]:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’p,pa … 附近使用… 我以前从未做过跨表删除操作,所以我现在还没有经验,并且一直坚持下去! 我究竟做错了什么? 问题答案: 在语句中使用a 。 另外,您可以使用…

  • 问题内容: 这是我的代码,我需要对列表中未定义数量的元素求和。这该怎么做? 我的输入: 输入后,我通过删除第一个元素。在列表之后,我需要对列表中的所有元素求和。 在这种情况下,总和为18。请注意,未定义元素数。 问题答案: 您可以使用内置的sum()来对列表中的数字求和: 它将汇总所有数量的项目。例: 对于您的具体情况 : 对于您的数据,首先将数字转换为数字,然后将数字求和: 这将适用于列表中 未

  • 我有两个表用于我的在线订单:product\u items 产品项包含销售价格、数量和成本价格。订单表包括成本、装运和货币 我想获得所有订单(按货币分组)的所有销售价格(*数量)和成本价格(*数量)以及成本装运的总和 问题是,当我将成本加起来时,订单中每个项目的成本加起来(因为它们是合并的) 因此,如果订单1有2个项目,运费为10欧元,那么它将退回20欧元。 如果我不加运费,那么我只得到最后一个值