2011-03-02 93 views
0

假設我有一個包含多個列的數據表。c#LINQ查詢

我想分組日期列和每個日期,我想計算結果列的平均值。

我有下面的代碼未如預期工作:

var results = from res in dt.AsEnumerable() 
         group res by res.Field<string>("operation_time") 
          into grp 
          orderby grp.Key 
          select new 
          { 
           date = grp.Key, 
           sum = grp.Average(r => r.Field<double>("result")) 
          }; 

可能有人建議我怎麼能做到這一點。

謝謝。

+5

它爲什麼不起作用?怎麼了? – SLaks 2011-03-02 15:56:11

+0

我的不好.......我愚蠢地使用了不正確的列名。它現在按預期工作。謝謝。 – 2011-03-02 16:02:55

+0

如果@ Slaks的回答是正確的,即使您自己也發現了錯誤(我不是downvoter,BTW),您應該接受它。 – 2011-03-02 17:43:41

回答

2

您按operation_time字段排序爲字符串,這不太可能是您想要的。

您應該使用它們各自的Parse方法將它解析爲intDateTime