我有两张桌子:
试验:
id
name
last_name
price
TEST1
id
name
price
我想结合两个表中的两个字段(价格)并计算它们的平均值。但我得到了每个表格的平均值。
SELECT AVG(price) FROM test as p
UNION
SELECT AVG(price) FROM test1 as p
答案 0 :(得分:4)
这个怎么样:
SELECT AVG(price) AS P FROM
(
SELECT price FROM test
UNION ALL
SELECT price FROM test1
) AS TMP
我认为您需要UNION ALL
才能真正包含所有价格,否则将忽略重复价格,这可能会影响平均价格。
答案 1 :(得分:0)
您可以使用子查询或子句:
来完成WITH all_data as(
SELECT id,name,price FROM test as t
UNION ALL
SELECT id,name,price FROM test as t2
)
SELECT AVG(price) FROM all_data
答案 2 :(得分:0)
如果你想根据名字做平均值,那么:
如果你只是想要avg然后先做Union all然后采取avg