我的目标是根据另一个表的主键从一个表中获得加权平均值。
示例数据:
表格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。谢谢你。