【发布时间】:2011-09-23 12:51:05
【问题描述】:
我到处搜索,没有找到这个问题的答案。我想在动态 linq 中按间隔(日期时间、数字)进行分组(数据将动态创建,所以我必须使用动态 linq)
假设我们有这样的数据:
ID|Date|Price
1|2010-11-01|100
2|2010-11-01|120
3|2010-11-02|50
4|2010-12-01|30
5|2010-12-01|220
6|2011-01-01|400
如何得到这样分组的数据
-(按天分组)关注组
->2010-11-01 = 2 elements
->2010-11-02 = 1 elements
->2010-12-01 = 2 elements
->2011-01-01 = 1 elements
-(按月分组)关注组
->2010-11 = 3 elements
->2010-12 = 2 elements
->2011-01 = 1 elements
-(按季度分组)以下组
->2010 q.03 = 5 elements
->2011 q.01 = 1 elements
-(按年份分组)关注组
->2010 = 5 elements
->2011 = 1 element
-(Group by Price (From 0, Each 50)) 以下组
-> <0-50) = 1 elements
-> <50-100) = 1 elements
-> <100-150) = 2 elements
-> <200-250) = 1 elements
-> <400-450) = 1 elements
-(理想情况下是按价格分组(从 0-50,从 50-150,从 150-500))以下组
-> <0-50) = 1 elements
-> <50-150) = 3 elements
-> <150-500) = 2 elements
有什么想法吗?我再次强调 - 它必须是 DYNAMIC LINQ 还是最终是一些复杂的 lambda 表达式?我应该能够按字符串中的列名“分组”它。例如
GroupBy("Date"), GroupBy("Price");
【问题讨论】:
标签: linq c#-4.0 lambda expression-trees dynamic-linq