我有一个表tbl结构
col1 col2 col3
1 10 3
2 20 3
3 30 4
4 40 4
需要输出
col2 col3 Avg
10 3 15
20 3 15
30 4 35
40 4 35
所以基本上我需要col3上的平均值。 我试过了
select col2,col3,avg(col2) from tbl1 group by col3
但这只会给我们每个匹配组中的第一行。
如何在mysql中完成此操作?
答案 0 :(得分:0)
select tbl1.col2, tbl1.col3, tbl2.avgcol2
from tbl1
inner join
(
select col3,avg(col2) as avgcol2
from tbl1
group by col3
) tbl2 on tbl1.col3 = tbl2.col3
答案 1 :(得分:0)
您可以在SELECT上使用子查询:
select t1.col2,
t1.col3,
(select avg(t2.col2) from tab1 t2 where t2.col3 = t1.col3) AS AVERAGE
FROM tab1 t1