2011-11-12 9 views
-1

var ItemScores =(a.LastUpdated == (a.lord_Id == d.Word_Idがa.LastUpdatedを選択した場合はresponse.ItemScoresのdから).Max()select a);LINQ to SQLでは、maxを使用してサブクエリを実行する方法は?

上記のクエリは、各単語のための唯一の最も最近のItemScoreを返すことになっています。複数の得点が同じ単語を獲得することができますので、 各単語には、一つ以上のItemScoresを持つことができます。 私は、各項目のスコアは、その単語のために、最新のものであるような項目の得点(単語1つ)、のリストを取得しようとしています。それは完全にLastUpdatedサブクエリを無視していたかのように

このクエリでは、残念ながら、すべてのアイテムの得点(単語ごとに複数の項目のスコアを)返しています。

答えて

1
var itemScores = response.ItemScores 
         .GroupBy(x => x.Word_Id) 
         .Select(g => g.OrderByDescending(x => x.LastUpdated) 
             .First()); 
+0

おかげLukeH。私はちょうど "a.LastUpdated"があったはずですが、サブクエリに "d.LastUpdated"されているはずです。 – Triynko

関連する問題