我有三个表并且已经连接以返回每行[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
答案 0 :(得分:6)
SELECT ID, AVG(number) FROM table GROUP BY ID
答案 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;