gpt4 book ai didi

mysql - 对来自不同表的同一查询中的两列求和

转载 作者:行者123 更新时间:2023-11-30 22:18:33 25 4
gpt4 key购买 nike

我有一个 2015 年和 2016 年的表,它们具有相同的列。我正在尝试显示一列不同年份的总计。

SELECT t16.`Dep Name`, sum(t16.`number_courses`) AS `Total 16`, sum(t15.`number_courses`) 
AS `Total 15` FROM `table_16` t16, `table_15` t15
GROUP BY t16.`Dep Name`

这给了我错误的总计,但是当我单独计算总计时,它们工作得很好。我在这里做错了什么?

编辑:好的,我的主要目标是创建一个 View ,但显然是根据 MySQL Documentation View 不支持子查询。有没有其他方法可以获得相同的结果并创建 View ?

最佳答案

您实际上是在执行 CROSS JOIN,它会生成两个表的行的笛卡尔积。

您可以改为聚合然后然后加入:

SELECT t16.`Dep Name`, `Total 16`, `Total 15`
FROM (
SELECT `Dep Name`,
sum(`number_courses`) AS `Total 16`
FROM `table_16`
GROUP BY `Dep Name`) t16
JOIN (
SELECT `Dep Name`,
sum(`number_courses`) AS `Total 15`
FROM `table_15`
GROUP BY `Dep Name`
) t15 ON t16.`Dep Name` = t15.`Dep Name`

关于mysql - 对来自不同表的同一查询中的两列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37413859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com