2011-03-02 4 views
0

Disons que j'ai une date avec un certain nombre de colonnes.C# LINQ Query

Je veux regrouper la colonne de date et pour chaque date, je veux calculer la valeur moyenne de la colonne de résultat.

J'ai le code suivant qui ne fonctionne pas comme prévu:

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")) 
          }; 

Quelqu'un pourrait-il conseiller comment je peux le faire.

Merci.

+5

Pourquoi ça ne marche pas? Ce qui se produit? – SLaks

+0

Mon mauvais ....... J'ai stupidement utilisé le nom de colonne incorrect. Cela fonctionne maintenant comme prévu. Merci. –

+0

Si la réponse de @ Slaks était correcte, vous devriez l'accepter, même si vous avez également trouvé l'erreur par vous-même (je ne suis pas le downvoter, BTW). –

Répondre

2

Vous triez par le champ operation_time sous la forme d'une chaîne, ce qui est peu probable que ce soit ce que vous voulez. Vous devez l'analyser en int ou DateTime en utilisant leurs méthodes Parse respectives.