1
我有一个LINQ到对象质询LINQ到对象 - 总结GROUPBY算
我们正在制造的产品,并试图报告月lossCodes,由总lossCode排序。
所以源数据(如名单< myProduct的>我的产品)看起来像:
.lossDate/.lossCode
4/10/2012/TooLarge
4/11/2012/TooSmall
4/14/2012/TooSmall
4/14/2012/TooSmall
4/14/2012/TooSmall
5/1/2012/TooLarge
5/10/2012/TooSmall
4/10/2012/TooLarge
5/10/2012/WrongColor
结果转变应该是这样的:
| TooSmall | TooLarge | WrongColor
04-2102 | 4 | 2 | 0
05-2012 | 1 | 1 | 1
所以这是一组由(月, lossCode)...加上对'聚合'损失的排序(所以TooSmall cnt = 5,然后TooLarge cnt = 3,然后WrongColor cnt = 1是我试图得到的排序顺序) - 但是我遇到了最终的问题分类。
query = from prod in myProducts
group prod by new {Month = prod.lossDate.ToString("yyyy-MM"), prod.lossCode} into g
select new
{
g.Key.Month,
ReasonCode = g.Key.lossCode,
NumLosses = g.Count()
}
into resultSet
orderby resultSet.NumLosses descending
select resultSet;
这段代码无疑是错误的(排序依据resultSet.NumLosses显然是不正确的)...但我不明白如何总结的分组计数能够做最后的排序。由于结果集的其他用途,我宁愿不尝试将“总计”记录嫁接到结果集上(并且对于匿名类型,我不确定如何完成)。任何人都经历过这样的事情?
Thx!
订购(哎呀 - 是的,numLosses) 我不知道这让我正确的结果 - 如果我没有记错,这.OrderByDescending条款将对[Month,lossCode]分组的numLosses进行排序...我试图做的是对给定lossCode的集合numLosses进行排序,无论日期如何。呃 - 这个解释是否有意义? – ttt