该应用程序是一个基本的股票分析应用程序。
数据集如下所示:
`ABC, True, 21/09/2012, 101.34
ABC,错误,2012 年 9 月 21 日,202.45
CDE,真实,2012 年 9 月 21 日,345.67
美国广播公司,真实,2012 年 9 月 22 日。456.78
` SQL 在这里:
SELECT TickerCode, Australian from Stk_ClosingPrices group by TickerCode,
Australian having count(*) >= @daysToAverageOver order by TickerCode
结果,我想要的是按前两个字段进行分组,并计算每组中有多少。对于上述情况,这将是:
ABC,真,2 ABC,假,1 CDE,真,1
然后我想只返回传入的 Count > 参数。
该算法将计算 20 天移动平均线,因此在英语中查询是“给我具有 20 多条数据记录的股票的键”
这就是我已经走了多远,但我无法让伯爵正确,每个小组总是一样的。
var query = (from cp in this.ObjectContext.stk_ClosingPrices group cp by new {
cp.TickerCode, cp.Australian
}
into grp
select new {
grp.Key.TickerCode, grp.Key.Australian,
Count = grp.Distinct()
}).ToList();
我见过一个与grp.Sum(Quantity)类似的示例,但似乎无法将其重新转换为 .Count() 谓词。
非常感谢,