平均具有相同id的行

时间:2011-07-20 13:20:41

标签: mysql sql

我有三个表并且已经连接以返回每行[ID] : [number]的结果,这一切都正常但问题是某些行将具有相同的[ID]因此可能返回的样本数据是:

1 : 564
2 : 34
3 : 76
2 : 985
2 : 47
1 : 4

依旧......但我想要的是:

1 : 284
2 : 355
3 : 76

正如您所看到的,已经对具有相同[ID]的行进行了平均。我的问题是;有没有办法在SQL中执行此操作?我该怎么办?谢谢你的时间。

查询

SELECT T1.id, T2.number 
FROM T1 
LEFT JOIN T3 ON T3.T1_id = T1.id 
LEFT JOIN T2 ON T3.T2_id = T2.id

3 个答案:

答案 0 :(得分:6)

SELECT ID, AVG(number) FROM table GROUP BY ID

Average Aggregate Function

答案 1 :(得分:1)

使用@cularis发布的内容和您添加的查询,您将使用

SELECT T1.id, Avg(T2.number)
FROM T1 
LEFT JOIN T3 ON T3.T1_id = T1.id 
LEFT JOIN T2 ON T3.T2_id = T2.id
GROUP BY T1.id

答案 2 :(得分:0)

猜猜,因为你还没有发布你的查询:

select ID, avg(number)
from <your query>
group by ID;