我的目标是从一个表中获取加权平均值,基于另一个表的主键。
示例数据:
表1
Key WEIGHTED_AVERAGE
0200 0
表格2
ForeignKey Length Value
0200 105 52
0200 105 60
0200 105 54
0200 105 -1
0200 47 55
我需要根据片段长度计算加权平均值,并忽略-1的值。我知道如何在SQL中实现,但我的目标是使用LINQ来实现。在SQL中,它看起来像这样:
SELECT Sum(t2.Value*t2.Length)/Sum(t2.Length) AS WEIGHTED_AVERAGE
FROM Table1 t1, Table2 t2
WHERE t2.Value <> -1
AND t2.ForeignKey = t1.Key;
我对LINQ还不是很熟悉,很难找出如何进行翻译。希望得到的结果加权平均值大致为55.3。谢谢。