我需要根据计数的降序显示groupby计数,然后按最后更新行(CreatedDateTime desc)的顺序显示。如何使用LINQ完成?
TableA.GroupBy(c => c.UserID).Select(
g => new { UserID = g.Key, Count = g.Count() }
).OrderByDescending(c => c.Count)
以下是预期订购的示例。
Table A
TableAID UserID TableBID CreatedDateTime
1 1 1 ..
2 1 1 ..
3 2 2 ..
4 2 2 ..
......
答案 0 :(得分:1)
喜欢这个(我希望): - )
TableA.GroupBy(c => c.UserID)
.Select(g => new { UserID = g.Key, Count = g.Count(), g.Max(h => h.CreatedDateTime) })
.OrderByDescending(c => c.Count)
.ThenByDescending(c => c.CreatedDateTime)
请注意,我选择了Max(CreatedDateTime)
。我本可以使用Min(CreatedDateTime)
,但结果会有所不同。