[英]Calculate an average with 2 rows of 2 different tables
我对 MySQL 很陌生,目前我正在努力解决一个问题。
我有 2 个表(技术日志和销售)。 我现在打算做的是,从 techlog 中的列中获取总和,与 sales 相同。 这两个总和需要计算新的 Sum(sales.row)/Sum(techlog.row)。 这样做的想法是我可以获得每分钟的价格。 有这样的可能吗?
两个表共享具有相同 ID 的列。 此外,两张表上还提供了一些列,例如 Immatriculation。
到目前为止我已经尝试过:
use dbm_project;
SELECT techlog.Immatriculation, sum(techlog.TimeTOT), sum(sales.total)
FROM techlog
INNER JOIN sales
ON techlog.Immatriculation = sales.Immatriculation
GROUP BY techlog.Immatriculation
我提前道歉,因为我发现很难用缺少的经验来阐述我的问题。
长话短说:我想计算两个不同表的两个值,并用那些我想计算一些新的值。
这是子查询的工作。
一个是
SELECT Immatriculation, sum(TimeTOT) TimeTot
FROM techlog
GROUP BY Immatriculation
另一个是
SELECT Immatriculation, sum(total) SalesTot
FROM sales
GROUP BY Immatriculation
然后你把他们联合起来
SELECT t.Immatriculation, t.TimeTot, s.SalesTot
FROM (
SELECT Immatriculation, sum(TimeTOT) TimeTot
FROM techlog
GROUP BY Immatriculation
) t
LEFT JOIN (
SELECT Immatriculation, sum(total) SalesTot
FROM sales
GROUP BY Immatriculation
) s ON t.Immatriculation = s.Immatriculation;
这有效,因为....
Immatriculation
值的一行。 因此,每个结果集中都有一行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.