Php MySQL中三表并集求平均值的简便方法
我有三个表的并集(t1、t2、t3)。每次返回的记录数完全相同,第一列为id,第二列为金额:Php MySQL中三表并集求平均值的简便方法,php,mysql,union,Php,Mysql,Union,我有三个表的并集(t1、t2、t3)。每次返回的记录数完全相同,第一列为id,第二列为金额: 1 10 2 20 3 20 1 30 2 30 3 10 1 20 2 40 3 60 是否有一种简单的SQL方法来计算平均值,直到只得到: 1 20 2 30 3 30 新值是否可以用php代码存储在另一个表t4中?获得
1 10
2 20
3 20
1 30
2 30
3 10
1 20
2 40
3 60
是否有一种简单的SQL方法来计算平均值,直到只得到:
1 20
2 30
3 30
新值是否可以用php代码存储在另一个表t4中?获得平均值的一种方法是使用SQL
AVG()
聚合函数
如果我们想要平均“每个id”,那么我们需要包含一个GROUPBY
子句
我们可以使用内联视图查询代替表引用。(MySQL将其称为派生表
下面是查询的示例:
SELECT t.id
, AVG(t.amount) AS avg_amount
FROM ( SELECT t1.id
, t1.amount
FROM t1
UNION ALL
SELECT t2.id
, t2.amount
FROM t2
UNION ALL
SELECT t3.id
, t3.amount
FROM t3
) t
GROUP BY t.id
ORDER BY t.id
获取平均值的一种方法是使用SQL
AVG()
aggregate函数
如果我们想要平均“每个id”,那么我们需要包含一个GROUPBY
子句
我们可以使用内联视图查询代替表引用(MySQL将其称为派生表)
下面是查询的示例:
SELECT t.id
, AVG(t.amount) AS avg_amount
FROM ( SELECT t1.id
, t1.amount
FROM t1
UNION ALL
SELECT t2.id
, t2.amount
FROM t2
UNION ALL
SELECT t3.id
, t3.amount
FROM t3
) t
GROUP BY t.id
ORDER BY t.id
如果再添加一列amount1,则如何计算?如果再添加一列amount1,则如何计算?